如何使用 css 绘制心形

常遇到心形图案,好比点赞和取消点赞的使用场景。以前的使用方式是图片接入,做为imgbackgroundImage 插入到 dom 中去。如今本身动手用css绘制一个心形图案。css

心形

准备一个dom元素以下,为其id赋值为hearthtml

<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

接下来要作的是将beforeafter两块内容旋转。代码以下: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

源码在此 或访问 个人博客code

相关文章
相关标签/搜索