css3强制换行和超出隐藏实现

一、强制换行

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

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

white-space: pre-wrap;     只对中文起作用,强制换行。

解析:

word-break:break-all 和 word-wrap:break-word 都是使容器如DIV的内容自动换行,它们的区别在于:
1、word-break:break-all 
假设div宽度为450px,它的内容就会到450px自动换行,如果该行末端有个很长的英文单词,它会把单词截断,一部分保持在行尾,另一部分换到下一行。
2、word-wrap:break-word 
例子与上面一样,但区别就是它会把整个单词看成一个整体,如果该行末端宽度不够显示整个单词,它会自动把整个单词放到下一行,而不会把单词截断掉。如果在下一行整个宽度依然不够显示整个单词,那才会如上面一样截断处理。

二、超出隐藏

1.单行隐藏

div{/* 单行溢出隐藏 */
       white-space: nowrap;     
       text-overflow: ellipsis;
       overflow: hidden;
}

white-space:nowrap; 是禁止换行。
overflow:hidden; 是多出隐藏
text-overflow:ellipsis; 让多出的内容以省略号...来表达。但是这个属性主要用于IE等浏览器,Opera浏览器用-o-text-overflow:ellipsis; 而Firefox浏览器没有这个功能,多出的内容只能隐藏起来。

2.多行隐藏

div{/* 多行溢出隐藏 */
       display: -webkit-box;
       -webkit-box-orient: vertical;
       -webkit-line-clamp: 3;
       overflow: hidden;
}

-webkit-line-clamp用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性。常见结合属性:

display: -webkit-box; 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。

-webkit-box-orient 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。

默认结尾带有省略号...

posted @ 2020-09-29 15:27  以深  阅读(1138)  评论(0编辑  收藏  举报
TOP