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创建心形相关推荐

  1. vscode如何创建一个go项目_如何用手机创建一个网站

    如何用手机创建网站?其实正确的说法是如何创建一个手机网站才对,因为很难用手机去制作网站,很不方便.一般是用电脑模拟手机去建网站. 我们知道现在很多人上网都是通过手机上网,所以我们自己建网站时,也要学会 ...

  2. 如何用 css 画一个心形

    如何用 css 画一个心形 (How to draw hearts using CSS) 用两个长方形切圆角倾斜位移并合并为一个心形 第一步 画一个长方形 (Draw a rectangle) 这个长 ...

  3. css画心形原理,如何用 css 画一个心形

    如何用 css 画一个心形 (How to draw hearts using CSS) 用两个长方形切圆角倾斜位移并合并为一个心形 第一步 画一个长方形 (Draw a rectangle) 这个长 ...

  4. [css] 请使用CSS画一个带锯齿形边框圆圈

    [css] 请使用CSS画一个带锯齿形边框圆圈 @import 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

  5. [css] 用css画一个太阳

    [css] 用css画一个太阳 // css.sun {margin: 200px;width: 200px;height: 200px;border-radius: 50%;background: ...

  6. [css] 请使用css画一个圆,方法可以多种

    [css] 请使用css画一个圆,方法可以多种 <div class="circle"></div>1.border-radius.cirlce{width ...

  7. [css] 用css画一个五边形和一个六边形

    [css] 用css画一个五边形和一个六边形 五边形:clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%); 六边形:cli ...

  8. 用html和css画太极图,利用css画一个太极图(阴阳八卦)实例

    这篇文章介绍利用css画一个太极图(阴阳八卦)实例 #yin-yang { width: 96px; height: 48px; background: #eee; border-color: red ...

  9. 用 CSS 画一个带阴影的三角形

    1. 思路 怎么用CSS画一个带阴影的三角形呢 ? 有童鞋说, 这还不简单吗 网上有很多解决方案, 但其实大多都是实现不太完美的, 存在一些问题 假设我们做一个向下的三角形箭头 常见的方法大致有两种 ...

最新文章

  1. 在Unix/Linux上令(java)JVM支持中文输出
  2. linux-进程切换,用户态进程,内核态进程
  3. shell 密码输入不显示,Shell输出内容不显示密码,Shell实现有密码自动登录sshpass 应用实践...
  4. sublime自定义主题-修改行号的颜色
  5. C# 创建一个简单的WebApi项目
  6. 4.3.1 jQuery基础(1)
  7. 韩国或将禁止苹果和谷歌向开发者抽取佣金
  8. ucc编译器(词法分析)
  9. python使用梯度下降方法实现线性回归算法_python实现线性回归梯度下降算法
  10. 数学建模-lingo使用
  11. 傅里叶级数与积分方程
  12. CentOS7恢复rm -rf 误删的xfs系统
  13. Swagger Error Missing required property: responses ✖ Swagger Error Additional properties not allowe
  14. PowerDesigner 15下载(破解)
  15. Android的LogCat的使用
  16. 微信炸弹不在服务器,微信隐藏“沙雕”功能!炸弹+“便便”炸飞聊天框
  17. BLE(7)—— 发起态数据包组成( Initiating Packets PDUs)
  18. 基于余弦相似度的改进蝴蝶优化算法
  19. 《商业数据分析》读书笔记(一)
  20. java中0是真是假_为什么0为假?

热门文章

  1. mysql中的查询时间的语句_mysql 常用时间查询语句
  2. linux驱动LCD 驱动程序代码编写
  3. 小米Android12,小米11系列支持安卓12开发者预览版 还有一加9系列
  4. Labview远程连接MySQL详细教程
  5. 前端基础技术_浏览器同源政策(same-origin policy)及其规避方法
  6. 触控科技携手亚马逊AWS和应用商店 提升初创游戏开发公司盈利水平
  7. CoreOS实践指南(三):系统服务管家Systemd
  8. 快手资讯 | 修订快分销平台管理规范,一年拦截风险视频超20万条
  9. maven--依赖的管理(dependencyManagement)
  10. PS-nineday-修复工具组(人物祛斑)