使用css3属性处理单词的换行和断词

  • 问题呈现
<div class="main">
Nameofuser-definedcallbackfunctiontobecalledwheneverastreamtriggersanotification. 
</div>
<style type="text/css">
.main{
    width: 100px;
    border: 2px solid red;
}
</style>

默认情况下,连续的单词如果在一行容纳不下的话会在空格和连字符处换行,那如何让它换行呢?

  • 认识word-break属性
属性值 解释
normal 使用浏览器默认的换行规则(默认)
break-all 允许在单词内换行
keep-all 只能在半角空格或连字符处换行

现在大多说的浏览器默认的换行规则为半角空格和连字符,因此normal和keep-all的效果是一样的。

  • word-break: break-all
<style type="text/css">
.main{
    width: 100px;
    border: 2px solid red;
        word-break: break-all;
}
</style>

word-break: break-all,打破了默认的换行规则。那如果想保留空格和连字符处换行怎么办?

  • 认识word-wrap属性
属性值 解释
normal 使用浏览器默认的换行规则(默认)
break-word 长单词进行换行

下来看一下演示,我把单词内部插入了几个空格

  • 先看默认的,以作对比。我把长单词多插入了几个空格,以便效果明显
<div class="main">
    Name of user-definedcallbackfunction to be called wheneverastreamtriggersanotification. 
</div>
<style type="text/css">
.main{
    width: 100px;
    border: 2px solid red;
}
</style>

默认情况下,图上标号2和4是连续长单词,中间没有空格和连字符,所以没有换行(溢出)。

  • 下来看看word-wrap: break-word演示
<style type="text/css">
.main{
    width: 100px;
    border: 2px solid red;
    word-wrap: break-word;
}
</style>

从图上看,保留了空格和连字符的换行状态。只是将前面图上标号2和4行的长单词进行了换行。

总结

  • word-break: break-all, 打破了浏览器的默认换行规则
  • word-wrap: break-word, 保留浏览器的默认换行规则,一旦一个连续长单词一行容纳不下,就只对这个长单词进行打破换行
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文本换行其实是个非常常用但并不起眼的特性。你什么都不用设,浏览器自动就会换行。例如英语,浏览器会根据容器尺寸,选择...
    张歆琳阅读 8,569评论 1 7
  • CSS3中的word-wrap、word-break、white-space想必大家都接触过,今天我们来一起温故而...
    叮咯咙咚DQ阅读 578评论 0 0
  • 在挖掘分析的过程当中对字符串的处理是极为重要的,且出现也较为频繁,R语言作为当前最为流行的开源数据分析和可视化平台...
    果果哥哥BBQ阅读 5,973评论 0 8
  • R: 我先问:“我想知道,你所希望拥有的很好的学习动力,是一种什么样的学习状态或者劲头呢?” 他想了想,往大厅另一...
    阿凯同学阅读 230评论 0 0
  • 许嵩说,但凡能撩拨起人某种情绪的音乐,一定是富有画面感的。写作的时候我时常听歌,翻来覆去的那么几首,写小说要听这首...
    B612上的小橙子阅读 212评论 0 0