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

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

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

  • 认识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>
img_ba2252e573d6c8c6c2f45b5bac900bbc.png

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>
img_6128c4b4f952f58aabebb771234a0632.png

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

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

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

总结

  • word-break: break-all, 打破了浏览器的默认换行规则
  • word-wrap: break-word, 保留浏览器的默认换行规则,一旦一个连续长单词一行容纳不下,就只对这个长单词进行打破换行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值