(三)巧用CSS3之四边形

687 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

绘制

在前面的文章(一)巧用CSS3之三角形中我们绘制了三角形,这边文章会讲一下四边形的绘制。

容器

<div class="quadrilateral"></div>

绘制四边形我们准备一个div元素足以,接下来就是它的变身时刻。

样式

横看成岭侧成峰,换个样式便不同。看的角度不同,看到的效果也就不同;样式发生变化的时候,图形自然也会变。

长方形

这个效果就很容易实现,如下

.quadrilateral{
    width: 200px;
    height: 100px;
    background-color: red;
}

1632638253.jpg

平行四边形

平行四边形是在长方形的基础上进行形变得来的,如下:

.quadrilateral{
    width: 200px;
    height: 100px;
    background-color: red;
    transform: skew(45deg);
}

1632638253(1).jpg

当然你也可以通过两个三角形一个长方形进行拼接而得到。

菱形

菱形也是在长方形的基础上进行形变得来的,如下:

.quadrilateral {
    width: 200px;
    height: 200px;
    background-color: red;
    transform: rotateZ(45deg) skew(-20deg, -20deg);
}

1632638907(1).jpg 当然你也可以通过四个三角形进行拼接而得到。

梯形

我们可以对比一下三角形,绘制三角形的宽高是为0,如果给个宽相当于把三角形从中间拉伸开来,如下:

.quadrilateral{
    width: 100px;
    border: 100px solid transparent;
    border-bottom-color: red;
    background-color: yellow;
}

1632640455(1).jpg 图中把背景颜色去掉就是梯形。

总结

平行四边形和菱形主要用到了形变,而梯形则是和三角形的绘制类似。

想了解其他动画效果,请前往《有趣的动画》 专栏,希望对你有所帮助。