1、三角形
1)先画个正方形;
2)将 border 的值加大,并设为不同的颜色;
3)宽高均设为 0,剩下四个border,就变成。
4)想要哪个三角形,就保留哪个三角形的颜色,其他的都设置为透明。transparent 表示透明。将边框宽度设置为不同,就可以变换三角形的形状。
气泡聊天框(带边缘色的三角形)
1)画圆角矩形;
2)画一个深色的三角形;
3)然后再画一个同样大小白色的三角形盖在它上面,两个三角形错位 2 个像素,这样深色三角形的边缘就刚好露出一个像素
2、圆
3、画⼀根0.5px的线
4、实现单行/多行文本溢出部分省略(...)显示
1)white-space
a、normal:连续的空白符会被合并,换行符会被当作空白符来处理。
b、nowrap:和 normal 一样,连续的空白符会被合并。但文本内的换行无效。
c、pre:连续的空白符会被保留。在遇到换行符或者<br>元素时才会换行。
d、pre-wrap:连续的空白符会被保留。在遇到换行符或者<br>元素,或者需要为了填充「行框盒子(line boxes)」时才会换行。
e、pre-line:连续的空白符会被合并。在遇到换行符或者<br>元素,或者需要为了填充「行框盒子(line boxes)」时会换行。
f、break-spaces:
与pre-wrap的行为相同,除了:
任何保留的空白序列总是占用空间,包括在行尾。
每个保留的空格字符后都存在换行机会,包括空格字符之间。
这样保留的空间占用空间而不会挂起,从而影响盒子的固有尺寸(最小内容大小和最大内容大小)。
2)text-overflow
text-overflow属性确定如何显示的溢出内容。它可以被剪切,显示一个省略号('...')或显示一个自定义字符串。
a、clip:此为默认值。在内容区域的极限处截断文本,因此在字符的中间可能会发生截断。如果你的目标浏览器支持text-overflow: '',为了能在两个字符过渡处截断,你可以使用一个空字符串值 ('') 作为text-overflow属性的值。
b、ellipsis:用一个省略号 ('…')来表示被截断的文本。这个省略号被添加在内容区域中,因此会减少显示的文本。如果空间太小到连省略号都容纳不下,那么这个省略号也会被截断。
c、<string>:用来表示被截断的文本。字符串内容将被添加在内容区域中,所以会减少显示出的文本。如果空间太小到连省略号都容纳不下,那么这个字符串也会被截断。
3)-webkit-line-clamp
-webkit-line-clamp是webkit的私有属性,是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。
-webkit-line-clamp属性 可以把块容器中的内容限制为指定的行数。
它只有在display属性设置成-webkit-box或者-webkit-inline-box并且-webkit-box-orient(en-US)属性设置成vertical时才有效果
在大部分情况下,也需要设置overflow属性为hidden, 否则,里面的内容不会被裁减,并且在内容显示为指定行数后还会显示省略号(ellipsis ).