用CSS3画一个爱心


Posted in HTML / CSS onApril 27, 2021

实现效果

用CSS3画一个爱心

需求/功能:

怎么用CSS+HTMl绘画出一个爱心.

分析:

爱心可以通过一个正方形+两个圆形组合成.
先画一个正方形+圆形, 摆放位置如下:

用CSS3画一个爱心

再添加上一个圆形.

用CSS3画一个爱心

最后再将整个图形顺时针旋转45度即可.

用CSS3画一个爱心

初步实现:

先画一个正方形:

<body>
    <div id="heart"></div>
</body>
#heart{
       height: 300px;
       width: 300px;
       border: 2px solid black;
    }

给这个正方形的左边加行一个圆形.这里使用伪类:before来实现

#heart{
            height: 200px;
            width: 200px;
            border: 2px solid black;
            position: relative;
        }
    #heart:before{
        content: '';
        width: 200px;
        height: 200px;
        border: 2px solid black;
        border-radius: 50%; // 正方形加圆角变成圆
        position: absolute;
        left: -100px;  // 向左位移正方形一半的长度
    }

此时图形长这样:

用CSS3画一个爱心

再添加一个圆形, 这里使用after伪类来实现.

#heart{
            height: 200px;
            width: 200px;
            border: 2px solid black;
            position: relative;
        }
        // 这里偷个懒.直接写一块了
    #heart:before,#heart:after{
        content: '';
        width: 200px;
        height: 200px;
        border: 2px solid black;
        border-radius: 50%;
        position: absolute;
        left: -100px;
    }
    // 第二个圆, 只需要向上位移正方形一半的高度
    #heart:after{
        left: 0;
        top: -100px;
    }

用CSS3画一个爱心

最后一步, 旋转一下, 然后上个颜色.去掉之前为了看清楚加的边框.

/*给heart进行旋转并加上颜色*/
  transform: rotate(45deg);
  background-color: red;

完整代码:

<style>
        body,html{
            display: flex;
            align-items: center;
            justify-content: center;
            height: 100vh;
        }
        #heart{
            height: 200px;
            width: 200px;
            /*border: 2px solid black;*/
            position: relative;
            transform: rotate(45deg);
            background-color: red;
        }
        #heart:before,#heart:after{
            content: '';
            width: 200px;
            height: 200px;
            /*border: 2px solid black;*/
            border-radius: 50%;
            position: absolute;
            left: -100px;
            background-color: red;
        }
        #heart:after{
            left: 0;
            top: -100px;
        }
    </style>
</head>
<body>
    <div id="heart"></div>
</body>

总结:

爱心可以由一个正方形和两个圆形组成, 这里使用before和after伪类, 然后, 分别对两个伪类进行位移. 最后挤上颜色, 就可以实现一个爱心❤️.

以上就是用CSS3画一个爱心的详细内容,更多关于CSS3画一个爱心的资料请关注三水点靠木其它相关文章!

 
HTML / CSS 相关文章推荐
css3的transition效果和transfor效果示例介绍
Oct 30 HTML / CSS
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
Jun 09 HTML / CSS
使用HTML5的Canvas绘制曲线的简单方法
Sep 08 HTML / CSS
HTML5实现简单图片上传所遇到的问题及解决办法
Jan 20 HTML / CSS
整理HTML5移动端开发的常用触摸事件
Apr 15 HTML / CSS
canvas像素点操作之视频绿幕抠图
Sep 11 HTML / CSS
iframe跨域的几种常用方法
Nov 11 HTML / CSS
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
Mar 18 HTML / CSS
html5用video标签流式加载的实现
May 20 HTML / CSS
AmazeUI中模态框的实现
Aug 19 HTML / CSS
用position:sticky完美解决小程序吸顶问题的实现方法
Apr 24 HTML / CSS
CSS 制作波浪效果的思路
May 18 HTML / CSS
HTML5中 rem适配方案与 viewport 适配问题详解
Apr 27 #HTML / CSS
CSS 还能这样玩?奇思妙想渐变的艺术
css3 实现文字闪烁效果的三种方式示例代码
Css预编语言及区别详解
用position:sticky完美解决小程序吸顶问题的实现方法
Apr 24 #HTML / CSS
position:sticky 粘性定位的几种巧妙应用详解
六种css3实现的边框过渡效果
Apr 22 #HTML / CSS
You might like
php is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
PHP 正则表达式小结
2015/02/12 PHP
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
2014/04/22 Javascript
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
原生js更改css样式的两种方式
2017/03/15 Javascript
微信小程序本地缓存数据增删改查实例详解
2017/05/24 Javascript
浅析Vue 和微信小程序的区别、比较
2018/08/03 Javascript
在Vue-cli里应用Vuex的state和mutations方法
2018/09/16 Javascript
微信小程序 Storage更新详解
2019/07/16 Javascript
微信小程序绑定手机号获取验证码功能
2019/10/22 Javascript
vuex实现购物车功能
2020/06/28 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
JavaScript的一些小技巧分享
2021/01/06 Javascript
[55:18]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
详解Python中的日志模块logging
2015/06/19 Python
Python实现LRU算法的2种方法
2015/06/24 Python
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
python中解析json格式文件的方法示例
2017/05/03 Python
Python实现的随机森林算法与简单总结
2018/01/30 Python
用pycharm开发django项目示例代码
2018/10/24 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
如何通过python检查文件是否被占用
2020/12/18 Python
this关键字的作用
2016/01/30 面试题
邮政员工辞职信
2014/01/16 职场文书
纠风工作实施方案
2014/03/15 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
观看建国大业观后感
2015/06/01 职场文书
贷款收入证明范本
2015/06/12 职场文书
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技