用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绘制出各种几何图形
Aug 17 HTML / CSS
CSS3的Border-radius轻松制作圆角
Dec 24 HTML / CSS
纯CSS3打造动感漂亮时尚的扇形菜单
Mar 18 HTML / CSS
CSS3感应鼠标的背景闪烁和图片缩放动画效果
May 14 HTML / CSS
CSS3中currentColor关键字的妙用
Feb 27 HTML / CSS
浅析rem和em和px vh vw和% 移动端长度单位
Apr 28 HTML / CSS
CSS3 对过渡(transition)进行调速以及延时
Oct 21 HTML / CSS
HTML5 自动聚焦(autofocus)属性使用介绍
Aug 07 HTML / CSS
移动端html5 meta标签的神奇功效
Jan 06 HTML / CSS
html5 canvas实现给图片添加平铺水印
Aug 20 HTML / CSS
高清屏下canvas重置尺寸引发的问题的解决
Oct 14 HTML / CSS
POST提交数据常见的四种方式
Jan 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统计目录大小的自定义函数分享
2014/11/18 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
2015/01/22 PHP
PHP dirname简单使用代码实例
2020/11/13 PHP
用Javascript实现锚点(Anchor)间平滑跳转
2009/09/08 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
简单了解Backbone.js的Model模型以及View视图的源码
2016/02/14 Javascript
AngularJS基础 ng-focus 指令简单示例
2016/08/01 Javascript
详解jQuery插件开发方式
2016/11/22 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
[46:21]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
Python实现GUI学生信息管理系统
2020/04/05 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
2019/07/26 Python
Django实现基于类的分页功能
2019/10/31 Python
pytorch数据预处理错误的解决
2020/02/20 Python
在python中利用pycharm自定义代码块教程(三步搞定)
2020/04/15 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
2020/05/15 Python
python使用列表的最佳方案
2020/08/12 Python
Python -m参数原理及使用方法解析
2020/08/21 Python
Python直接赋值及深浅拷贝原理详解
2020/09/05 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述
2013/01/31 HTML / CSS
《燕子》教学反思
2014/02/18 职场文书
校园安全演讲稿
2014/05/09 职场文书
遵纪守法演讲稿
2014/05/23 职场文书
英语课前三分钟演讲稿
2014/08/19 职场文书
运动会搞笑广播稿
2014/10/14 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
党员民主生活会材料
2014/12/15 职场文书
优秀乡村医生事迹材料(2016精选版)
2016/02/29 职场文书
MySQL数据库10秒内插入百万条数据的实现
2021/11/01 MySQL
mysql幻读详解实例以及解决办法
2022/06/16 MySQL