CSS 问题解决
本文最后更新于:2024年3月18日 凌晨
CSS 问题解决
CSS单行/多行文本溢出显示省略号
单行文本溢出显示省略号
1 2 3 4
| overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
|
多行文本溢出显示省略号
webkit浏览器或移动端的页面
- 解决方法:在webkit浏览器或移动端(绝大部分是webkit内核的浏览器)可以直接使用webkit的css扩展属性(webkit是私有属性)
-webkit-line-clamp;
1 2 3 4 5
| overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
|
-webkit-line-clamp
用来限制在一个块元素显示的文本行数,为了实现效果,需要与webkit属性结合使用。
- 注意:这是一个不规范的属性,它没有在CSS的规范草案中。
跨浏览器兼容的方案
- 解决方法:比较靠谱简单的做法就是设置相对定位的容器高度,用包含省略号(…)的元素模拟实现。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| p{ position:relative; line-height:1.4em;
height:4.2em; overflow:hidden; } p::after{ content:'...'; font-weight:bold; position:absolute; bottom:0; right:0; padding:0 20px 1px 45px; background:#fff; }
|
- 注意:IE6-7不显示content内容,所以要兼容IE6-7可以是在内容中加入一个标签,比如…去模拟;要支持IE8,需要将::after替换为:after
JavaScript解决方案
- 解决方法:使用js也可以根据上面的思路去模拟,实现也很简单,推荐两个做类似工作的成熟小工具。
clamp.js
jquery.dotdotdot
设置图片不可拖动的方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>css居中对齐</title> <style> div{ width: 500px; height: 500px; border: 1px solid red;}
img { -webkit-user-drag: none; } </style> </head> <body> <div> <img src="img/3.jpg"> </div> </body> </html>
|
隐藏滚动条
1 2 3
| ::-webkit-scrollbar { display: none; }
|