
本文将演示如何使用CSS的clip-path属性,在矩形容器内创建直角梯形。此方法比传统的border或padding更精确地控制形状。
问题:在一个矩形div内绘制一个直角梯形。
解决方案:利用clip-path属性及polygon()函数定义多边形裁剪区域。
HTML结构:
立即学习“前端免费学习笔记(深入)”;
一个包含直角梯形元素的容器div:
3台
CSS样式:
.container定义矩形容器样式,.trapezoid使用clip-path创建梯形。polygon()函数参数定义梯形顶点坐标(百分比表示相对于元素宽高):
.container {
width: 600px;
height: 300px;
background-color: #FFD900;
border-radius: 20px;
position: relative; /* 为绝对定位的子元素提供上下文 */
}
.trapezoid {
width: 580px;
height: 280px;
background-color: #fff;
position: absolute;
top: 10px;
left: 10px;
z-index: 2;
display: flex;
justify-content: center; /* 水平居中 */
align-items: flex-end; /* 垂直底部对齐 */
font-weight: 700;
font-size: 40px;
padding: 20px; /*内边距调整*/
box-sizing: border-box; /* 包含内边距 */
clip-path: polygon(0% 0%, 30% 0, 70% 100%, 100% 100%);
}
通过调整polygon()函数中的坐标值,可以轻松改变梯形的形状和大小。 clip-path属性提供了一种灵活且强大的方法来创建各种自定义形状。










