clip-path CSS 属性使用裁剪方式创建元素的可显示区域,区域内的部分显示,区域外的隐藏

文章介绍了如何使用CSS的clip-path属性来创建不规则图形,包括使用polygon函数定义多边形,并通过实例展示了如何为这些不规则图形添加边框。通过设置不同的顶点坐标,可以实现各种复杂形状,并结合定位和背景色创建出独特的设计效果。
摘要由CSDN通过智能技术生成

clip-path:MDN:clip-path

语法:

/* Keyword values */
clip-path: none;

/* <clip-source> values */
clip-path: url(resources.svg#c1);

/* <geometry-box> values */
clip-path: margin-box;
clip-path: border-box;
clip-path: padding-box;
clip-path: content-box;
clip-path: fill-box;
clip-path: stroke-box;
clip-path: view-box;

/* <basic-shape> values */
clip-path: inset(100px 50px);
clip-path: circle(50px at 0 100px);
clip-path: ellipse(50px 60px at 0 10% 20%);
clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
clip-path: path('M0.5,1 C0.5,1,0,0.7,0,0.3 A0.25,0.25,1,1,1,0.5,0.3 A0.25,0.25,1,1,1,1,0.3 C1,0.7,0.5,1,0.5,1 Z');

/* Box and shape values combined */
clip-path: padding-box circle(50px at 0 100px);

/* Global values */
clip-path: inherit;
clip-path: initial;
clip-path: revert;
clip-path: revert-layer;
clip-path: unset;

其中:

polygon() (en-US)

polygon()函数:用于定义一个多边形,也可以用来剪裁图形。它的参数是一组坐标对(<shape-arg> <shape-arg>),每一个坐标对代表多边形的一个顶点坐标。浏览器会将最后一个顶点和第一个顶点连接得到一个封闭的多边形。坐标对使用逗号来进行分隔,可以使用绝对单位或百分比单位值。

举例:实现如图所示不规则图形效果,并在不规则区域添加边框显示

 实现前:

 实现方法:

1.绘制不规则区域,并添加边框以及背景颜色:

  <div class="box">
    ...
  </div>


.box{
    clip-path: polygon(29% 0%, 31% 15px, 67% 15px, 69% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 0%);
    width: 100%;
    height: 300px;
    border: 1px solid #054689;
    background: rgba(6, 52, 105, 0.24);
    border-radius: 10px;
    position: relative;
}

实现效果:

 2.给不规则区域添加边框

  <div class="box">
    <div class="box-left"></div>
    <div class="box-mid"></div>
    <div class="box-right"></div>
  </div>

  .box{
    clip-path: polygon(29% 0%, 31% 15px, 67% 15px, 69% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 0%);
    width: 100%;
    height: 300px;
    border: 1px solid #054689;
    background: rgba(6, 52, 105, 0.24);
    border-radius: 10px;
    position: relative;
  }
  .box-left {
    position: absolute;
    background: #1a8bff;
    width: 1px;
    height: 17px;
    transform: rotate(146deg);
    left: 29.7%;
    z-index: 111;
    top: -2px;
  }
  .box-right {
    position: absolute;
    background: #1a8bff;
    width: 1px;
    height: 17px;
    transform: rotate(-146deg);
    right: 31.7%;
    z-index: 111;
    top: -2px;
  }
  .box-mid {
    position: absolute;
    background: #1a8bff;
    width: 36.5%;
    height: 1px;
    right: 32.7%;
    z-index: 111;
    top: 14px;
  }

实现效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值