美文网首页
使用CSS制作斜边矩形原理分析

使用CSS制作斜边矩形原理分析

作者: jerrylearner | 来源:发表于2020-03-26 11:58 被阅读0次

一。先上一张图

image

二。上代码

.pick{
position: absolute;
z-index: 999;
left: 0;
top: 0;
background: #fd3a51;
line-height: 20px;
padding: 0 6px 0 8px;
color: #fff;
font-size: 20px;
text-align: center;
}

.pick::after{
content: ' ';
position: absolute;
top: 0;
right: -8px;
border-width: 20px 8px;
border-style: solid;
border-color:#fd3a51 transparent transparent transparent;
}

三。原理分析

为什么这样普普通通的两段css就能实现斜边的效果呢?

首先pick类里面就是中规中矩的画一个红色背景的矩形,真正起作用的是after伪类里面的border-color,如果现在这个设置还看不出所以然,我把border-color改成如下border-color:#fd3a51 black blue green;得到的效果图如下

image

现在就应该很清楚了,原来伪类造了一个左移8px的矩形,上下边厚度为20px等于元矩形高度,左右边厚度为8px刚好为左移8px的宽度,这样一个厚度的四条边使得每条边厚度形成一个三角形的效果(不得不佩服第一个发现此效果的人真是聪明啊),然后把不相关的边框设置为透明色隐藏,就得到斜边的效果了。

根据此原理,不难得出向右倾斜的边应该这么做

.self-pick::after{
content: ' ';
position: absolute;
top: -20px;
right: -8px;
border-width: 20px 8px;
border-style: solid;
border-color:transparent transparent #fd3a51 transparent;
}

上移20px让下边与原矩形重合,保留下边颜色为原矩形颜色,其他边颜色设为透明

如图

image

相关文章

网友评论

      本文标题:使用CSS制作斜边矩形原理分析

      本文链接:https://www.haomeiwen.com/subject/rwnquhtx.html