常遇到心形图案,好比点赞和取消点赞的使用场景。以前的使用方式是图片接入,做为img
或 backgroundImage
插入到 dom 中去。如今本身动手用css绘制一个心形图案。css
准备一个dom
元素以下,为其id
赋值为heart
html
<div id="heart"></div>
复制代码
添加宽高git
#heart {
position: relative;
width:50px;
height:40px;
}
复制代码
如今它应该是一个宽50px
,高40px
的矩形,没跑了。如今开始操做伪元素github
/*上一步骤的代码省略...*/
#heart:before,
#heart:after{
position: absolute;
left:0;
top:0;
content: '';
width: 25px;
height: 40px;
background: red;
border-radius: 20px 20px 0 0;
}
#heart:after {
content: '';
left: 25px;
top:0
}
复制代码
emmm... 形状没法描述,上图吧仍是...到如今为止的形状应该是这个样子的。 hexo
接下来要作的是将before
和after
两块内容旋转。代码以下:dom
#heart:before,
#heart:after{
position: absolute;
left:25px;
top:0;
content: '';
width: 25px;
height: 40px;
background: red;
border-radius: 40px 40px 0 0;
transform: rotate(-45deg);
transform-origin: 0 100%;
}
#heart:after {
content: '';
left: 0;
top:0;
transform: rotate(45deg);
transform-origin: 100% 100%;
}
复制代码
上图上图...ui
效果已出,感谢阅读。spa