用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让div随鼠标移动而抖动起来
Feb 10 HTML / CSS
css3利用transform变形结合事件完成扇形导航
Oct 26 HTML / CSS
CSS3实现的渐变幻灯片效果
Dec 07 HTML / CSS
详解canvas在圆弧周围绘制文本的两种写法
May 22 HTML / CSS
详解px单位html5响应式方案
Mar 08 HTML / CSS
解析html5 canvas实现背景鼠标连线动态效果代码
Jun 17 HTML / CSS
data:image data url 文件转为Blob上传后端的方法
Jul 16 HTML / CSS
html实现弹窗的实例
Jun 09 HTML / CSS
CSS 实现Chrome标签栏的技巧
Aug 04 HTML / CSS
css常用字体属性与背景属性介绍
Feb 28 HTML / CSS
HTML CSS 一个标签实现带动画的抖音LOGO
Apr 26 HTML / CSS
HTML页面点击按钮关闭页面的多种方式
Dec 24 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 模拟post_验证页面的返回状态(实例讲解)
2013/10/28 PHP
ThinkPHP关于session的操作方法汇总
2014/07/18 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
Django 标签筛选的实现代码(一对多、多对多)
2018/09/05 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
Vue2单一事件管理组件通信
2017/05/09 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
基于JavaScript实现新增内容滚动播放效果附完整代码
2017/08/24 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
js判断密码强度的方法
2020/03/18 Javascript
js 闭包深入理解与实例分析
2020/03/19 Javascript
js实现表格数据搜索
2020/08/09 Javascript
Python FTP操作类代码分享
2014/05/13 Python
Python基础之函数用法实例详解
2014/09/10 Python
Python错误: SyntaxError: Non-ASCII character解决办法
2017/06/08 Python
解决python3 Pycharm上连接数据库时报错的问题
2018/12/03 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
python利用datetime模块计算程序运行时间问题
2020/02/20 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
天巡全球:Skyscanner Global
2017/06/20 全球购物
企业统计员岗位职责
2013/12/13 职场文书
生日派对邀请函
2014/01/13 职场文书
集团公司党的群众路线教育实践活动工作总结
2014/03/03 职场文书
企业管理毕业生求职信
2014/03/11 职场文书
高中班主任评语
2014/12/30 职场文书
北大自主招生自荐信
2015/03/04 职场文书
服务器SVN搭建图文安装过程
2022/06/21 Servers
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL
MySQL添加索引特点及优化问题
2022/07/23 MySQL
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技