用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中background-clip属性与background-origin属性的用法介绍
Nov 13 HTML / CSS
CSS3制作ajax loader icon实现思路及代码
Aug 25 HTML / CSS
使用css3制作登录表单的步骤
Apr 07 HTML / CSS
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
Dec 30 HTML / CSS
初探CSS3中的calc()功能
Jul 14 HTML / CSS
利用CSS3实现文字折纸效果实例代码
Jul 10 HTML / CSS
使用纯 CSS 创作一个脉动 loader效果的源码
Sep 28 HTML / CSS
CSS3实现菜单悬停效果
Nov 17 HTML / CSS
canvas实现有递增动画的环形进度条的实现方法
Jul 10 HTML / CSS
HTML5 Canvas实现烟花绽放特效
Mar 02 HTML / CSS
HTML5中的进度条progress元素简介及兼容性处理
Jun 02 HTML / CSS
在canvas上实现元素图片镜像翻转动画效果的方法
Mar 20 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
新浪新闻小偷
2006/10/09 PHP
php如何连接sql server
2015/10/16 PHP
PHP常用操作类之通信数据封装类的实现
2017/07/16 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
2019/06/06 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
基于jQuery替换table中的内容并显示进度条的代码
2011/08/02 Javascript
IE关闭时判断及AJAX注销案例学习
2013/02/18 Javascript
ComboBox 和 DateField 在IE下消失的解决方法
2013/08/30 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
javascript对象的创建和访问
2016/03/08 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
基于js的变量提升和函数提升(详解)
2017/09/17 Javascript
redux-saga 初识和使用
2018/03/10 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
详解webpack loader和plugin编写
2018/10/12 Javascript
vue实现带过渡效果的下拉菜单功能
2020/02/19 Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
2020/05/23 Javascript
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
使用JavaScript实现贪吃蛇游戏
2020/09/29 Javascript
[38:31]完美世界DOTA2联赛PWL S3 Magma vs GXR 第一场 12.13
2020/12/17 DOTA
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
python基础教程项目三之万能的XML
2018/04/02 Python
PyQt5每天必学之日历控件QCalendarWidget
2018/04/19 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
python3.5安装python3-tk详解
2019/04/26 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
HealthElement海外旗舰店:新西兰大卖场
2018/02/23 全球购物
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
DTD的含义以及作用
2014/01/26 面试题
生物化工工艺专业应届生求职信
2013/10/08 职场文书
工程师岗位职责规定
2014/02/26 职场文书
食品采购员岗位职责
2014/04/14 职场文书
审计专业自荐信范文
2014/04/21 职场文书
工厂门卫的岗位职责
2014/07/27 职场文书
2015年暑期社会实践总结
2015/07/13 职场文书