王景迁 2018-02-15
偶尔看到一篇不错文章,在原来CSS3图形创建基础上扩展了很多。
有的方法经过测试后做了些修改,这里记录总结下
参考网址:http://sbco.cc/magicCss/html/index.html
【目录】
①心形
②气泡三角形
【内容】
①心形
利用长方形和内切圆圆角实现
<style type="text/css"> .heart{width:160px;height:200px;position:relative; /* relative(相对定位) 对象不可层叠、不脱离文档流,*/ /*参考自身静态位置通过top,bottom,left,right定位,并且可以通过z-index进行层次分级 */ } /* after 伪元素在元素之前添加内容*/ .heart:before{ content:" "; border-radius:100px 100px 0 0;/* 正方形的内切圆的半径等于正方形边长的一半 */ width:80px; height:120px;/* 长方形 */ background:#669; -moz-transform: rotate(-45deg);/* 逆时针旋转45°*/ -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); position:absolute; /* absolute(绝对定位) 脱离文档流,通过 top,bottom,left,right 定位 */ left:20px; } /* after 伪元素在元素之后添加内容*/ .heart:after{ content:" "; width:80px; height:120px; background:#669; border-radius:100px 100px 0 0; -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); -webkit-transform: rotate(45deg); position:absolute; left:48px;top:0px; } </style>
②气泡三角形
利用 border 的 transparent 特性实现
.heart{ margin: 20px auto; width: 200px; height: 100px; background-color: aquamarine; position: relative; } .heart:after{ content: ''; border-right: 10px solid transparent; border-left: 10px solid transparent; border-bottom: 10px solid aquamarine; position: absolute; top: -10px; left: 90px; }
③切角
利用线性渐变实现
.