css实现强制不换行、自动换行、强制换行

1. 强制不换行,并且多行文字溢出显示省略号

.ellips{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.ellips_line2,.ellips_line3{display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden;} //chrome下的私有属性
.ellips_line2{-webkit-line-clamp:2;} //显示两行,超出的用省略号显示
.ellips_line3{-webkit-line-clamp:3;} //显示三行,超出的用省略号显示

 

2. 自动换行

div{ 
    word-wrap: break-word;  //只对英文起作用,以单词作为换行依据。
    word-break: normal; 
}

 

3. 强制英文单词断行

div{
    word-break:break-all;  //只对英文起作用,以字母作为换行依据。
 }

 

white-space 可能的值,如下表

描述
normal默认。空白会被浏览器忽略。
pre空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。
nowrap文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。
pre-wrap保留空白符序列,但是正常地进行换行。
pre-line合并空白符序列,但是保留换行符。
inherit规定应该从父元素继承 white-space 属性的值。

 

word-wrap 可能的值, 如下表

描述
normal只在允许的断字点换行(浏览器保持默认处理)。
break-word在长单词或 URL 地址内部进行换行。

 

word-break 可能的值,如下表

描述
normal使用浏览器默认的换行规则。
break-all允许在单词内换行。
keep-all只能在半角空格或连字符处换行。

 

word-break:break-allword-wrap:break-word都是能使其容器如DIV的内容自动换行

它们的区别就在于:

1. word-break:break-all 例如div宽200px,它的内容就会到200px自动换行,如果该行末端有个英文单词很长(congratulation等),它会把单词截断,变成该行末端为congra(congratulation的前端部分),下一行为tulation(conguatulation)的后端部分了。如下图:

2. word-wrap:break-word 例子与上面一样,但区别就是它会把congratulation整个单词看成一个整体,如果该行末端宽度不够显示整个单词,它会自动把整个单词放到下一行,而不会把单词截断掉的。如下图:

转载于:https://www.cnblogs.com/sensualgirl/p/3712332.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值