是否可通过CSS3实现指定异形?已尝试多种方案未达预期
CSS3 实现自定义斜角带圆角形状方案
完全可以实现,针对你之前尝试的两个方案的痛点,提供以下两种可直接落地的实现方式:
方案1:使用 clip-path + path() 语法
你之前用clip-path无法实现圆角是因为使用了无圆角的polygon多边形语法,换成path()可以直接绘制带贝塞尔圆角的自定义路径,同时可以固定左上角位置不变。
示例代码:
.custom-shape { width: 320px; height: 180px; /* 路径可自由调整倾斜角度、圆角大小,左上角固定在(0,0)坐标 */ clip-path: path("M0 0 L260 0 Q288 0 296 24 L320 156 Q320 180 296 180 L24 180 Q0 180 0 156 Z"); background-color: #2d7ff9; }
方案2:优化 transform: skew 实现固定左上角
skew变形后左上角偏移的问题可以通过设置变形原点+外层容器裁切解决,同时保留原生圆角支持:
示例代码:
/* 外层容器固定左上角位置,裁切溢出内容 */ .shape-wrap { width: 320px; height: 180px; position: relative; overflow: hidden; border-top-left-radius: 8px; } /* 内层元素做斜切变形,原点设置为左上角避免大幅偏移 */ .shape-content { width: 100%; height: 100%; transform: skew(-12deg); transform-origin: top left; border-radius: 8px; background-color: #2d7ff9; margin-left: 18px; /* 微调该值抵消斜切后的左侧溢出 */ }
形状参考


内容的提问来源于stack exchange,提问作者Châu Nguyễn Duy Toàn
相关产品推荐
相关产品推荐

