用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 相关文章推荐
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
Mar 09 HTML / CSS
详解使用CSS3的@media来编写响应式的页面
Nov 01 HTML / CSS
Web页面中八种创建多列等高(等高列布局)的实现技术
Dec 24 HTML / CSS
CSS3实现的炫酷菜单代码分享
Mar 12 HTML / CSS
css3media响应式布局实例
Jul 08 HTML / CSS
基于CSS3 animation动画属性实现轮播图效果
Sep 12 HTML / CSS
css3 transform过渡抖动问题解决
Oct 23 HTML / CSS
基于Modernizr 让网站进行优雅降级的分析
Apr 21 HTML / CSS
html5教程调用绘图api画简单的圆形代码分享
Dec 04 HTML / CSS
有关HTML5页面在iPhoneX适配问题
Nov 13 HTML / CSS
Html5新增了哪些功能
Apr 16 HTML / CSS
详解CSS伪元素的妙用单标签之美
May 25 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开发文件系统实例讲解
2006/10/09 PHP
php echo 输出字符串函数详解
2010/05/13 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
2019/10/11 PHP
JScript 脚本实现文件下载 一般用于下载木马
2009/10/29 Javascript
js判断IE浏览器版本过低示例代码
2013/11/22 Javascript
js/jquery解析json和数组格式的方法详解
2014/01/09 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
2014/06/16 Javascript
分享一则javascript 调试技巧
2015/01/02 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
2015/08/21 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
2016/05/16 Javascript
基于Angularjs实现分页功能
2016/05/30 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
2017/07/24 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
2017/10/25 Javascript
jQuery实现碰到边缘反弹的动画效果
2018/02/24 jQuery
python缩进区别分析
2014/02/15 Python
Python2与python3中 for 循环语句基础与实例分析
2017/11/20 Python
Python数据结构之栈、队列的实现代码分享
2017/12/04 Python
python批量替换多文件字符串问题详解
2018/04/22 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
2019/06/19 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
Python通过两个dataframe用for循环求笛卡尔积
2020/04/29 Python
在pycharm中创建django项目的示例代码
2020/05/28 Python
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
时尚圣经:The Fashion Bible
2019/03/03 全球购物
大专毕业自我鉴定
2014/02/04 职场文书
室内设计专业毕业生求职信
2014/05/02 职场文书
工地安全标语
2014/06/07 职场文书
大学活动总结模板
2014/07/10 职场文书
2015年八一建军节演讲稿
2015/03/19 职场文书
2015年暑假生活总结
2015/07/13 职场文书
Nginx已编译的nginx-添加新模块
2021/04/01 Servers
MySQL 数据丢失排查案例
2021/05/08 MySQL