2. 绘制多边形 — clip-path 属性(补充多边形设置圆角border-radius)

1. 了解 clip-path 

  clip-path 属性是一个用来定义剪切元素可见部分的 CSS 属性。通过 clip-path 属性,你可以创建各种形状的剪切区域,从而实现不同的视觉效果。

     

2. clip-path 语法

clip-path 的值可以为 <shape> 或 inset(<top> <right> <bottom> <left>) 或 circle(<radius> at <position>) 或 ellipse(<radius-x> <radius-y> at <position>) 或 polygon(<points>)

  • <shape>:可以是各种形状,如 circle()ellipse()polygon() 等。
  • inset(<top> <right> <bottom> <left>):创建一个矩形剪切区域,指定上、右、下、左边界的距离。
  • circle(<radius> at <position>):创建一个圆形剪切区域,指定圆心位置和半径。
  • ellipse(<radius-x> <radius-y> at <position>):创建一个椭圆形剪切区域,指定 x 轴和 y 轴的半径以及中心位置。
  • polygon(<points>):创建一个多边形剪切区域,指定多边形各个顶点的坐标。

3. 举例

以 clip-path: polygon(<points>) 为例:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .img2 {
        width: 120px;
        height: 120px;
        overflow: hidden;      /* 隐藏溢出部分 */
        clip-path: polygon(    /* 定义直角梯形形状 */
          0 0,                 /* 左上坐标 */
          100% 0,              /* 右上坐标:宽度的100%,高度的0% */
          80% 100%,            /* 右下坐标 */
          0 100%               /* 左下坐标 */ 
        ); 
        border-radius: 10% 10% 30% 10% / 10% 10% 90% 10%; /* 设置圆角大小 */
      }
      .img2 img {
        width: 100%; /* 图片宽度占满容器 */
        height: 100%; /* 图片高度占满容器 */
      }
    </style>
  </head>
  <body>
    
    <div class="img2">
      <img src="./img/000.jpg" alt="" />
    </div>
  </body>
</html>

补充一下:border-radius 的值设为 10% 10% 30% 10% / 10% 10% 90% 10%是为了给多边形设置圆角,因为在CSS中,clip-path: polygon 本身不支持直接设置圆角。clip-path 的多边形是基于直线段的,不支持曲线或圆角。这样设置的意思是border-radius 属性的值被分为两部分,分别对应四个角的水平和垂直半径。具体地,10% 10% 30% 10% 指定了左上、右上、右下和左下四个角的水平半径,而 / 10% 10% 90% 10% 则指定了这四个角的垂直半径。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值