CSS面试考点之画三角形、圆和线等

html-css07

CSS面试考点之画三角形、圆和线等,第1张

1)先画个正方形;

2)将 border 的值加大,并设为不同的颜色;

3)宽高均设为 0,剩下四个border,就变成。

4)想要哪个三角形,就保留哪个三角形的颜色,其他的都设置为透明。transparent 表示透明。将边框宽度设置为不同,就可以变换三角形的形状。

1)画圆角矩形;

2)画一个深色的三角形;

3)然后再画一个同样大小白色的三角形盖在它上面,两个三角形错位 2 个像素,这样深色三角形的边缘就刚好露出一个像素

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的行为相同,除了:

任何保留的空白序列总是占用空间,包括在行尾。

每个保留的空格字符后都存在换行机会,包括空格字符之间。

这样保留的空间占用空间而不会挂起,从而影响盒子的固有尺寸(最小内容大小和最大内容大小)。

text-overflow 属性确定如何显示的溢出内容。它可以被剪切,显示一个省略号('...')或显示一个自定义字符串。

a、clip:此为默认值。在内容区域的极限处截断文本, 因此在字符的中间可能会发生截断。如果你的目标浏览器支持text-overflow: '',为了能在两个字符过渡处截断,你可以使用一个空字符串值 ('') 作为text-overflow属性的值。

b、ellipsis:用一个省略号 ('…')来表示被截断的文本。 这个省略号被添加在内容区域中,因此会减少显示的文本。如果空间太小到连省略号都容纳不下,那么这个省略号也会被截断。

c、<string>:用来表示被截断的文本。 字符串内容将被添加在内容区域中,所以会减少显示出的文本。如果空间太小到连省略号都容纳不下,那么这个字符串也会被截断。

- 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 ).

在css中可以使用border实现一个三角形,举个例子:

效果展示如下:

那么为什么将border的三个边设置为transparent透明以后能生产一个三角形呢?接下来我们一步步解析。

我们来看一个平时使用的border例子:

这是我们平常使用border最普遍的情况——往往只给border一个较小的宽度(通常为1-2px);然而这样的日常用法就会容易让大家对border的形成方式产生误解,即认为元素的border是由四个矩形边框拼接而成。

然而事实并不是这样。实际上,元素的border是由三角形(准确说也是等边梯形)组合而成,为了说明这个问题,我们可以增大border的宽度,并为各border边设置不同的颜色:

效果图:

我们可以看到明显的四条边不是长方形,而是梯形,很像相框的四条边。

梯形的底是div对应的height或者width,梯形的高是对应border的宽度,梯形的顶边长度取决于div的内部空间。

我们进一步把div的高宽都改为0,梯形的顶边宽度变成了0,则可以得到对应的三角形了。

效果图:

此时元素由上下左右4个三角形“拼接”而成;那么,为了实现最终的效果,即保留最s上方的三角形,还应该怎么做?很简单,我们只需要把其它border边的颜色设置为白色或透明色:

效果图:

最终的简单三角形就绘制出来了。同理,如果想要得到其它边上的三角形,只需要将剩余的border边颜色设置为白色或透明色即可。

不过,被“隐藏”的上border仍然占据着空间,要想使得绘制出的三角形尺寸最小化,还需要将上border的宽度设置为0(其它情况同理):