富文本溢出隐藏,超出用省略号表示
文本溢出添加省略号css方法单行溢出多行溢出多行溢出进阶版css方法单行溢出div{overflow: hidden;text-overflow:ellipsis;white-space: nowrap;}效果如下:多行溢出div{display: -webkit-box;-webkit-box-orient: vertical;/*设置省略号在容器第四行文本后*/-webkit-line-cla
·
在实际的项目中,由于文字内容的长度不确定性和页面布局的固定性,难免会出现文字内容超过div或者其他标签区域的情况,此时比较好的做法就是当文字超过限定的div宽度后自动以省略号(…)显示,这样,按照习惯,人们都会知道这里有文字被省略了。
css方法
单行溢出
div{
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
}
效果如下:
多行溢出
div{
display: -webkit-box;
-webkit-box-orient: vertical;
/*设置省略号在容器第四行文本后*/
-webkit-line-clamp: 4;
overflow: hidden;
}
效果如下:
缺点:使用webkit的css扩展属性(webkit是私有属性)-webkit-line-clamp,因使用了WebKit的CSS扩展属性,该方法适用于WebKit浏览器及移动端;-webkit-line-clamp用来限制在一个块元素显示的文本的行数,限定了在第几行后面增加省略号,超出必须隐藏。
多行溢出进阶版
div{
position:relative;
line-height:1.4em;
/*设置容器高度为3倍行高就是显示3行*/
height:4.2em;
overflow:hidden;
}
div::after{
content:'...';
font-weight:bold;
position:absolute;
bottom:0;
right:0;
padding:0 20px 1px 35px;
background: -webkit-linear-gradient(left, transparent, #fff 55%);
background: -o-linear-gradient(right, transparent, #fff 55%);
background: -moz-linear-gradient(right, transparent, #fff 55%);
background: linear-gradient(to right, transparent, #fff 55%);
}
效果如下:
原理:在右下角生产一个表示省略号的伪元素,绝对定位到指定宽高的容器右下角,实现多行溢出点点点。
js方法
更多推荐
已为社区贡献1条内容
所有评论(0)