CSS3实现一个小爱心

Posted 恋上番茄的鸡蛋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS3实现一个小爱心相关的知识,希望对你有一定的参考价值。

当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放 CSS3实现一个小爱心



CSS3实现一个小爱心



    有段时间没更新了......

    最近有点迷茫,不知道该干些什么,脑子里乱成了一团

    所以.....就懒得更新(这理由...)

    

    好了,切入主题

    今天来写一个刚get的一个例子,

    用css3实现一个爱心

    先来看效果图


第一种实现布局代码


<!DOCTYPE html><html lang="zh"><head> <meta charset="UTF-8"> <title>爱心</title> <style> html,body{ margin: 0; padding: 0; } div{ width: 200px; height: 200px; margin: 0 auto; position: relative; } div:before,div:after{ content: ''; width: 100px; height: 140px; margin: 20px 35px; background-color: red; position: absolute; left: 0; top: 0; -webkit-border-radius: 50px 50px 0 0; -moz-border-radius: 50px 50px 0 0; border-radius: 50px 50px 0 0; } div:before{ -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); } div:after{ -webkit-transform: translateX(30px) rotate(45deg); -moz-transform: translateX(30px) rotate(45deg); -ms-transform: translateX(30px) rotate(45deg); -o-transform: translateX(30px) rotate(45deg); transform: translateX(30px) rotate(45deg); }</style></head><body><div></div></body></html>


第二种实现布局方法


<!DOCTYPE html><html lang="zh"><head> <meta charset="UTF-8"> <title>heartTwo</title></head><style> html,body{ margin: 0; padding: 0; } .container{ width: 200px; height: 200px; margin: 0 auto; position: relative; } .left, .right{ content: ''; width: 100px; height: 140px; margin: 20px 35px; background-color: red; position: absolute; left: 0; top: 0; -webkit-border-radius: 50px 50px 0 0; -moz-border-radius: 50px 50px 0 0; border-radius: 50px 50px 0 0; } .left{ -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); } .right{ -webkit-transform: translateX(30px) rotate(45deg); -moz-transform: translateX(30px) rotate(45deg); -ms-transform: translateX(30px) rotate(45deg); -o-transform: translateX(30px) rotate(45deg); transform: translateX(30px) rotate(45deg); }</style><body><div class="container"> <div class="left"></div> <div class="right"></div></div></body></html>


通过比较两种实现方法的布局,发现没什么大变化,第一种的实现采用了伪元素来实现,而第二种则多加两个div来实现,效果一模一样,但考虑到性能问题的话,则第一种的性能比较好,第二种增加了dom,因而其性能则相对来说差了点;还有一个要注意的是:由于计算计只能识别0和1,也就是二进制,如果颜色采用英文的话则会比采用十六进制慢了点(十六进制转二进制比英文转二进制快),所以在性能优化中采用十六进制的颜色设置是个不错的选择;在上面的代码中我没采用十六进制只要是因为我懒




---End---

Stay happy!



封面图来源于网络,如有侵权请及时联系删除

以上是关于CSS3实现一个小爱心的主要内容,如果未能解决你的问题,请参考以下文章

html5网页底部会跳动的小爱心,有大神有源码吗?

开发中经常用到的特效效果

开发中经常用到的特效效果

html5+canvas全屏的520爱心表白网页代码

3D爱心的制作

女神节简单使用C/C++和Python嵌套for循环生成一个小爱心