当前位置:首页 > CSS

css心形制作

2026-01-28 12:34:50CSS

使用CSS制作心形

通过CSS的伪元素和transform属性可以轻松实现心形效果。以下是两种常见方法:

css心形制作

基础心形(单个元素+伪元素)

.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%;
}

动画心形(带跳动效果)

.heart {
  width: 100px;
  height: 90px;
  position: relative;
  animation: pulse 1s infinite;
}
.heart::before, .heart::after {
  content: "";
  position: absolute;
  top: 0;
  width: 50px;
  height: 80px;
  background: #ff0000;
  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%;
}
@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.1); }
  100% { transform: scale(1); }
}

使用CSS clip-path制作心形

现代CSS的clip-path属性可以更简洁地实现复杂形状:

css心形制作

.heart {
  width: 100px;
  height: 100px;
  background-color: 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实现心形(CSS可控制样式)

结合SVG和CSS控制:

<svg class="heart-svg" viewBox="0 0 100 100">
  <path 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>
.heart-svg {
  width: 100px;
  height: 100px;
}
.heart-svg path {
  fill: red;
  transition: fill 0.3s;
}
.heart-svg:hover path {
  fill: #ff5252;
}

渐变色彩心形

通过CSS渐变增强视觉效果:

.heart-gradient {
  width: 100px;
  height: 90px;
  position: relative;
}
.heart-gradient::before, 
.heart-gradient::after {
  content: "";
  position: absolute;
  top: 0;
  width: 50px;
  height: 80px;
  background: linear-gradient(to bottom, #ff0861, #ff6b6b);
  border-radius: 50px 50px 0 0;
}
/* 旋转部分与基础示例相同 */

每种方法适用于不同场景,伪元素方案兼容性较好,clip-path方案代码更简洁,SVG方案则更适合需要复杂交互的场景。

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

相关文章

用css制作下拉菜单

用css制作下拉菜单

使用纯CSS制作下拉菜单 HTML结构 基础的下拉菜单需要嵌套的HTML结构,通常使用<ul>和<li>标签实现层级关系: <div class="dropdown"&…

制作css表格

制作css表格

基础CSS表格结构 使用HTML的<table>标签创建表格骨架,搭配CSS控制样式。以下是一个基础示例: <table class="styled-table"> &l…

css制作菜单

css制作菜单

CSS 制作菜单的方法 使用 CSS 可以制作多种风格的菜单,包括水平菜单、垂直菜单、下拉菜单等。以下是几种常见的实现方式。 水平菜单 水平菜单通常用于导航栏,可以通过 display: inlin…

css制作导航栏

css制作导航栏

水平导航栏 使用 display: inline-block 或 flexbox 创建水平导航栏是最常见的方法。 <nav class="horizontal-nav"> <u…

css导航条制作

css导航条制作

水平导航条制作 使用display: inline-block或flexbox布局创建水平导航条。设置背景色、内边距和悬停效果增强交互性。 <nav> <ul class="h…

div css制作导航

div css制作导航

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