当前位置:首页 > CSS

css心形制作

2026-02-13 06:54:22CSS

CSS 心形制作方法

方法一:使用伪元素和旋转

通过两个圆形和一个正方形组合,利用 ::before::after 伪元素旋转形成心形。

.heart {
  width: 100px;
  height: 90px;
  position: relative;
}
.heart::before,
.heart::after {
  content: "";
  position: absolute;
  top: 0;
  width: 50px;
  height: 80px;
  background: red;
  border-radius: 50px 50px 0 0;
}
.heart::before {
  left: 50px;
  transform: rotate(-45deg);
  transform-origin: 0 100%;
}
.heart::after {
  left: 0;
  transform: rotate(45deg);
  transform-origin: 100% 100%;
}

方法二:使用 clip-path 裁剪

通过 clip-path 直接裁剪出心形路径,代码更简洁。

css心形制作

.heart {
  width: 100px;
  height: 100px;
  background: red;
  clip-path: path(
    "M10,30 A20,20,0,0,1,50,30 A20,20,0,0,1,90,30 Q90,60,50,90 Q10,60,10,30 Z"
  );
}

方法三:使用 SVG 嵌入

结合 SVG 路径实现心形,兼容性更好。

css心形制作

.heart {
  width: 100px;
  height: 100px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path fill="red" d="M10,30 A20,20,0,0,1,50,30 A20,20,0,0,1,90,30 Q90,60,50,90 Q10,60,10,30 Z"/></svg>');
}

方法四:动画效果

为心形添加跳动动画,增强视觉效果。

@keyframes heartbeat {
  0% { transform: scale(1); }
  25% { transform: scale(1.1); }
  50% { transform: scale(1); }
  75% { transform: scale(1.1); }
  100% { transform: scale(1); }
}
.heart {
  animation: heartbeat 1s infinite;
}

注意事项

  • 伪元素方法需注意 transform-origin 的调整。
  • clip-path 的路径可能需要工具辅助生成。
  • SVG 方法适合需要复杂交互的场景。

标签: 形制css
分享给朋友:

相关文章

css 制作导航

css 制作导航

基础导航栏制作 使用HTML和CSS创建一个水平导航栏。HTML结构通常使用<ul>和<li>标签,CSS负责样式布局。 <nav> <ul class…

css怎么制作三角形

css怎么制作三角形

使用边框制作三角形 通过设置元素的边框宽度和颜色,可以创建不同方向的三角形。将元素的宽度和高度设为0,利用边框的透明属性实现。 .triangle-up { width: 0; he…

如何制作css

如何制作css

创建CSS文件 新建一个纯文本文件,将文件扩展名改为.css,例如style.css。确保文件名不含空格或特殊字符,使用连字符或下划线分隔单词。 编写CSS语法 CSS规则由选择器和声明块组成。选择…

css制作箭头

css制作箭头

使用边框制作箭头 通过设置元素的 border 属性,利用透明边框和实色边框的组合生成箭头。例如,创建一个向右的箭头: .arrow-right { width: 0; height:…

div css制作导航

div css制作导航

导航栏的基本结构 使用HTML的<nav>标签包裹导航链接,内部通常采用无序列表<ul>和列表项<li>结构。示例代码如下: <nav> <…

css制作梯形

css制作梯形

使用 CSS 制作梯形的方法 方法一:利用 border 和透明边框 通过设置元素的 border 属性,结合透明边框,可以创建梯形效果。调整边框的宽度和颜色可以控制梯形的形状和大小。 .trap…