怎么用css画一个心形_如何用CSS创建心形
CSS3增强了我们仅使用HTML和CSS就能在网站上构建内容的可行性。 您可以找到我们以前精选的出色示例 。 但是,不要让自己过分领先,复杂的设计将需要可能使您头疼的代码。
取而代之的是,我们将创建一些简单的内容,以帮助您先了解CSS的形状和位置 ,然后再尝试进行更高级的设计。 由于情人节即将来临,让我们使用HTML和CSS创建一个心形。
基础
基本上,我们可以通过连接一个或多个基本形状(例如矩形和圆形)来创建新形状。 如果我们检查一个心形,我们会发现它是由两个圆和一个矩形组合而成的 。 HTML元素本质上是正方形或矩形。 多亏了CSS3的边框半径,我们可以轻松地将矩形转换成圆形。
首先添加<div>
元素作为我们心形的基础。
<div class="heart-shape"></div>
然后,通过相等地指定宽度和高度,将其设为正方形。 选择您喜欢的背景颜色。
.heart-shape{position: relative;width: 200px;height: 200px;background-color: rgba(250,184,66, 0.8);
}
接下来,我们将进行圈子。
除了添加新元素,我们将使用伪元素:before
和:after
。 我们首先将:before
伪元素设置为我们的第一个圆圈。 就像使用div一样,将其设置为宽度和高度相等的正方形。 然后,通过给它50%的边界半径将其转换为一个圆形,并将其放在正方形的左侧。
.heart-shape:before{position: absolute;bottom: 0px;left: -100px;width: 200px;height: 200px;content: '';-webkit-border-radius: 50%;-moz-border-radius: 50%;-o-border-radius: 50%;border-radius: 50%;background-color: rgba(250,184,66, 0.8);
}
与广场一起,我们将得到如下结果:
之后,我们用伪元素:after
创建第二个圆,其样式与我们创建的第一个圆相同。 然后,我们还将其放置在正方形的顶部。
.heart-shape:after{position: absolute;top: -100px;right: 0px;width: 200px;height: 200px;content: '';-webkit-border-radius: 50%;-moz-border-radius: 50%;-o-border-radius: 50%;border-radius: 50%;background-color: rgba(250,184,66, 0.8);
}
结果如下:
我们可以通过将伪元素选择器分组如下来组合这两种相同的样式:
.heart-shape:before,
.heart-shape:after{position: absolute;width: 200px;height: 200px;content: '';-webkit-border-radius: 50%;-moz-border-radius: 50%;-o-border-radius: 50%;border-radius: 50%;background-color: rgba(250,184,66, 0.8);
}
.heart-shape:before{bottom: 0px;left: -100px;
}
.heart-shape:after{top: -100px;right: 0px;
}
- 我们有一个心脏形状,尽管它的方向不正确。 为了弄清楚它,我们将使用CSS3 Transformation。
可以对形状的主要元素进行转换; 在这里,这就是正方形。 转换后,伪元素将自动更改其在主要元素之后的位置。
在这里,我们将旋转心脏,使其被视为“站立”。
.heart-shape{-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);-ms-transform: rotate(45deg);-o-transform: rotate(45deg);transform: rotate(45deg);
}
这就是我们现在的心。
结果:
上面的心脏形状的完整代码如下,使用HTML:
<div class="heart-shape"></div>
在我们CSS上,它将是这样的:
.heart-shape{position: relative;width: 200px;height: 200px;-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);-ms-transform: rotate(45deg);-o-transform: rotate(45deg);transform: rotate(45deg);background-color: rgba(250,184,66, 1);
}
.heart-shape:before,
.heart-shape:after{position: absolute;width: 200px;height: 200px;content: '';-webkit-border-radius: 50%;-moz-border-radius: 50%;-o-border-radius: 50%;border-radius: 50%;background-color: rgba(250,184,66, 1);
}
.heart-shape:before{bottom: 0px;left: -100px;
}
.heart-shape:after{top: -100px;right: 0px;
}
请注意,我们现在将背景中的rgba(250,184,66, 1)
的Alpha通道设置为1
以删除透明度。 现在,这就是我们内心的样子。
现在我们有了完美的心形,我们可以轻松地将背景替换为另一种颜色 (例如,粉红色或红色)。 唯一的缺点是由于元素堆叠,我们无法在形状上添加边框 。 添加边界线会使心脏看起来很奇怪。
结论
使用CSS3可以轻松地创建类似Heart形状的形状。 border-radius属性使我们可以将元素甚至伪元素变成一个圆形 。 通过CSS3转换 ,我们可以轻松旋转或移动对象的坐标 。
您仅受您的创造力和想象力的限制!
翻译自: https://www.hongkiat.com/blog/css-heart-shape/
怎么用css画一个心形_如何用CSS创建心形相关推荐
- vscode如何创建一个go项目_如何用手机创建一个网站
如何用手机创建网站?其实正确的说法是如何创建一个手机网站才对,因为很难用手机去制作网站,很不方便.一般是用电脑模拟手机去建网站. 我们知道现在很多人上网都是通过手机上网,所以我们自己建网站时,也要学会 ...
- 如何用 css 画一个心形
如何用 css 画一个心形 (How to draw hearts using CSS) 用两个长方形切圆角倾斜位移并合并为一个心形 第一步 画一个长方形 (Draw a rectangle) 这个长 ...
- css画心形原理,如何用 css 画一个心形
如何用 css 画一个心形 (How to draw hearts using CSS) 用两个长方形切圆角倾斜位移并合并为一个心形 第一步 画一个长方形 (Draw a rectangle) 这个长 ...
- [css] 请使用CSS画一个带锯齿形边框圆圈
[css] 请使用CSS画一个带锯齿形边框圆圈 @import 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题
- [css] 用css画一个太阳
[css] 用css画一个太阳 // css.sun {margin: 200px;width: 200px;height: 200px;border-radius: 50%;background: ...
- [css] 请使用css画一个圆,方法可以多种
[css] 请使用css画一个圆,方法可以多种 <div class="circle"></div>1.border-radius.cirlce{width ...
- [css] 用css画一个五边形和一个六边形
[css] 用css画一个五边形和一个六边形 五边形:clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%); 六边形:cli ...
- 用html和css画太极图,利用css画一个太极图(阴阳八卦)实例
这篇文章介绍利用css画一个太极图(阴阳八卦)实例 #yin-yang { width: 96px; height: 48px; background: #eee; border-color: red ...
- 用 CSS 画一个带阴影的三角形
1. 思路 怎么用CSS画一个带阴影的三角形呢 ? 有童鞋说, 这还不简单吗 网上有很多解决方案, 但其实大多都是实现不太完美的, 存在一些问题 假设我们做一个向下的三角形箭头 常见的方法大致有两种 ...
最新文章
- 在Unix/Linux上令(java)JVM支持中文输出
- linux-进程切换,用户态进程,内核态进程
- shell 密码输入不显示,Shell输出内容不显示密码,Shell实现有密码自动登录sshpass 应用实践...
- sublime自定义主题-修改行号的颜色
- C# 创建一个简单的WebApi项目
- 4.3.1 jQuery基础(1)
- 韩国或将禁止苹果和谷歌向开发者抽取佣金
- ucc编译器(词法分析)
- python使用梯度下降方法实现线性回归算法_python实现线性回归梯度下降算法
- 数学建模-lingo使用
- 傅里叶级数与积分方程
- CentOS7恢复rm -rf 误删的xfs系统
- Swagger Error Missing required property: responses ✖ Swagger Error Additional properties not allowe
- PowerDesigner 15下载(破解)
- Android的LogCat的使用
- 微信炸弹不在服务器,微信隐藏“沙雕”功能!炸弹+“便便”炸飞聊天框
- BLE(7)—— 发起态数据包组成( Initiating Packets PDUs)
- 基于余弦相似度的改进蝴蝶优化算法
- 《商业数据分析》读书笔记(一)
- java中0是真是假_为什么0为假?
热门文章
- mysql中的查询时间的语句_mysql 常用时间查询语句
- linux驱动LCD 驱动程序代码编写
- 小米Android12,小米11系列支持安卓12开发者预览版 还有一加9系列
- Labview远程连接MySQL详细教程
- 前端基础技术_浏览器同源政策(same-origin policy)及其规避方法
- 触控科技携手亚马逊AWS和应用商店 提升初创游戏开发公司盈利水平
- CoreOS实践指南(三):系统服务管家Systemd
- 快手资讯 | 修订快分销平台管理规范,一年拦截风险视频超20万条
- maven--依赖的管理(dependencyManagement)
- PS-nineday-修复工具组(人物祛斑)