在CSS3中如何使用clip-path属性裁剪出三角形或五角星形状?

冬涛吖_4015

冬涛吖_4015

2026-06-26

447人浏览

原创

clip-path裁剪三角形用polygon(0% 0%,100% 0%,50% 100%)可得正立等腰三角形,关键在理解百分比基于元素自身宽高;五角星必须用path()因polygon仅支持凸多边形;兼容性方面chrome 107+、safari 15.4+支持path(),但动画中使用易掉帧,建议静态使用或降级为svg clippath。

在css3中如何使用clip-path属性裁剪出三角形或五角星形状?

clip-path 裁剪三角形:用 polygon() 配合三个顶点坐标

直接写 clip-path: polygon(0% 0%, 100% 0%, 50% 100%) 就能裁出一个正立等腰三角形。关键不是记住坐标,而是理解百分比是相对于元素自身宽高的——左上角是 0% 0%,右上是 100% 0%,底边中点是 50% 100%。

常见错误是把单位写成 px 或漏掉百分号,比如 50 100 会被浏览器忽略整条声明;另外,如果父容器没设 width/height,三角形可能塌缩成一条线。

实操建议:

  • 确保目标元素有明确的尺寸(哪怕只是 width: 200px; height: 200px;)
  • 用 background-color 填充便于肉眼验证裁剪区域
  • 想倒三角?把第三个点改成 50% 0%,前两点换成 0% 100% 和 100% 100%

clip-path 绘制五角星:必须用 path(),polygon() 不够用

polygon() 只能画凸多边形,五角星是凹多边形,必须用 path()。它的语法接近 SVG 的 d 属性,比如:clip-path: path("M50,0 L61,35 L97,35 L68,57 L80,91 L50,70 L20,91 L32,57 L3,35 L39,35 Z")。

这个坐标是基于一个 100×100 的画布设计的,实际使用时建议包裹在 url(#star) 引用内联 SVG,否则每次修改都要重算所有点。直接写 path() 字符串的问题是:坐标难调、无缩放适应性、不支持 CSS 变量注入。

CSS婚礼策划服务机构宣传网站模板
CSS婚礼策划服务机构宣传网站模板

CSS婚礼策划服务机构宣传网站模板是一款适合提供婚礼策划和婚庆服务机构宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。

下载

实操建议:

  • 先在 SVG 编辑器(如 SVGOMG)里画好五角星,导出 <path d="..."></path>,再复制到 path() 中
  • 给元素加 transform: scale(1.2) 时,path() 坐标不会自动缩放,得手动调整或改用 SVG <clippath></clippath>
  • Chrome 107+ 支持 path(),但 Safari 15.4+ 才开始稳定支持,旧版 Safari 会完全失效

兼容性与性能陷阱:别在动画里狂刷 clip-path

clip-path 在 Firefox 和 Safari 上仍依赖软件渲染,尤其 path() 形状越复杂,滚动或 hover 动画时掉帧越明显。CSS 动画里用 clip-path: polygon(...) 做过渡,Safari 会卡顿甚至闪退。

真正能放心用的场景只有静态裁剪或极简变化(比如两个三角形之间切换)。想做流畅动效?换 mask-image + PNG/SVG mask,或者干脆用 Canvas。

实操建议:

  • 用 @supports (clip-path: polygon(0 0)) 做特性检测,降级为 overflow: hidden + 伪元素拼形状
  • 避免在 :hover 中同时触发 clip-path 和 transform,这会让合成层频繁重建
  • 移动端慎用——iOS Safari 对 path() 的内存占用比桌面高 3 倍以上
五角星的坐标不是“画出来就行”,它得严格闭合(末尾 Z)、不能自相交过度,否则某些浏览器会直接放弃渲染。最省事的做法,其实是用 inline SVG 的 <clippath></clippath>,虽然多几行 HTML,但可控性和兼容性高得多。

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关专题

更多
css
css

css是层叠样式表,用来表现HTML或XML等文件样式的计算机语言,不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.15

4456

6

css居中
css居中

css居中:1、通过“margin: 0 auto; text-align: center”实现水平居中;2、通过“display:flex”实现水平居中;3、通过“display:table-cell”和“margin-left”实现居中。本专题为大家提供css居中的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.27

977

5

css如何插入图片
css如何插入图片

cssCSS是层叠样式表(Cascading Style Sheets)的缩写。它是一种用于描述网页或应用程序外观和样式的标记语言。CSS可以控制网页的字体、颜色、布局、大小、背景、边框等方面,使得网页的外观更加美观和易于阅读。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.28

1838

6

css超出显示...
css超出显示...

在CSS中,当文本内容超出容器的宽度或高度时,可以使用省略号来表示被隐藏的文本内容。本专题为大家提供css超出显示...的相关文章,相关教程,供大家免费体验。

2023.08.01

3486

7

css字体颜色
css字体颜色

CSS中,字体颜色可以通过属性color来设置,用于控制文本的前景色,字体颜色在网页设计中起到很重要的作用,具有以下表现作用:1、提升可读性;2、强调重点信息;3、营造氛围和美感;4、用于呈现品牌标识或与品牌形象相符的风格。

2023.08.10

6985

11

什么是css
什么是css

CSS是层叠样式表(Cascading Style Sheets)的缩写,是一种用于描述网页(或其他基于 XML 的文档)样式与布局的标记语言,CSS的作用和意义如下:1、分离样式和内容;2、页面加载速度优化;3、实现响应式设计;4、确保整个网站的风格和样式保持统一。

2023.08.10

5951

7

css三角形怎么写
css三角形怎么写

CSS可以通过多种方式实现三角形形状,本专题为大家提供css三角形怎么写的相关教程,大家可以免费体验。

2023.08.21

2017

9

css设置文字颜色
css设置文字颜色

CSS(层叠样式表)可以用于设置文字颜色,这样做有以下好处和优势:1、增加网页的可视化效果;2、突出显示某些重要的信息或关键字;3、增强品牌识别度;4、提高网页的可访问性;5、引起不同的情感共鸣。

2023.08.22

2831

5

css禁止点击事件
css禁止点击事件

实现css禁止点击事件的方法有使用CSS的pointer-events属性和使用JavaScript禁用点击事件。本专题为大家提供点击事件相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

2453

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 1.5万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 5.9万人学习

CSS教程
CSS教程

共754课时 | 96.8万人学习