css缺口制作
CSS 缺口制作方法
使用 CSS 制作缺口效果可以通过多种方式实现,以下是几种常见的方法:
方法一:使用伪元素和边框
通过 ::before 或 ::after 伪元素结合边框属性,可以创建缺口效果。以下是一个示例代码:
.element {
position: relative;
width: 200px;
height: 100px;
background-color: #3498db;
}
.element::after {
content: '';
position: absolute;
bottom: -10px;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-top: 10px solid #3498db;
}
方法二:使用 clip-path
clip-path 属性可以直接裁剪元素形状,实现复杂的缺口效果。以下是一个示例:
.element {
width: 200px;
height: 100px;
background-color: #3498db;
clip-path: polygon(
0% 0%,
100% 0%,
100% 80%,
50% 100%,
0% 80%
);
}
方法三:使用 SVG 和 mask
通过 SVG 路径结合 mask 属性,可以创建更精细的缺口效果:
.element {
width: 200px;
height: 100px;
background-color: #3498db;
mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 100"><path d="M0,0 L200,0 L200,80 L100,100 L0,80 Z" fill="white"/></svg>');
}
方法四:使用 CSS 渐变
通过 CSS 渐变模拟缺口效果,适用于简单的场景:

.element {
width: 200px;
height: 100px;
background: linear-gradient(
to bottom,
#3498db 0%,
#3498db 80%,
transparent 80%,
transparent 100%
);
}
注意事项
- 使用伪元素方法时,确保父元素设置了
position: relative。 clip-path的兼容性较好,但某些旧版本浏览器可能需要前缀。- SVG 方法适合复杂形状,但需要注意路径的精确计算。
- 渐变方法适合简单的线性缺口,但不适用于复杂形状。
以上方法可以根据具体需求选择,灵活调整参数以达到预期效果。






