css剪裁clip-path——基本图形剪裁

矩形 inset()

  • rect()函数的4个值只对应2个方位,分别是元素的上、左、上、左。
  • inset()函数的4个值对应4个方位,分别是元素的上、左、下、右。

在这里插入图片描述

  • 支持百分比值
  • 支持圆角
/* 偏移大小15%,圆角大小10% 50% 10% 50%*/
clip-path: inset(15% round 10% 50% 10% 50%);

在这里插入图片描述
相比border-radius创建的圆角,使用inset()函数剪裁的圆角要更加灵活,可以准确指定哪片区域有圆角效果。

clip-path: inset(15% 0% 15% 30% round 10% 50% 10% 50%);

在这里插入图片描述

clip-path: inset(15% 0% 15% 30% round 50% 50% 0% 0% / 100% 100% 0% 0%);

在这里插入图片描述

圆 circle()

clip-path: circle();

在这里插入图片描述

  • 指定圆心的位置
clip-path: circle(180px at right bottom);

在这里插入图片描述

  • 半径值支持百分比值
clip-path: circle(40% at right 10% bottom 10%);

椭圆 ellipse()

clip-path: ellipse();

在这里插入图片描述

  • 半径(半轴)值同样支持百分比值
clip-path: ellipse(30% 50% at 75% 50%);

在这里插入图片描述

多边形 polygon()

效果见 https://demo.cssworld.cn/new/12/2-4.php
在这里插入图片描述

<ui-tips>感谢大家</ui-tips>
<ui-tips>感谢大家购买这本《CSS新世界》</ui-tips>
<ui-tips>感谢大家购买这本《CSS新世界》,如果你觉得这本书还不错,欢迎推荐给身边的朋友</ui-tips>
ui-tips {
    display: inline-block;
    max-width: 250px;
    padding: 10px 15px 26px;
    color: #fff;
    background: linear-gradient(45deg, deepskyblue, deeppink);
    border-radius: 6px 6px 0 0;
    --clip-path: polygon(0 0, 100% 0, 100% calc(100% - 22px), calc(100% - 2px) calc(100% - 18px), calc(100% - 6px) calc(100% - 16px), calc(15% + 18px) calc(100% - 16px), calc(15% + 9px) calc(100% - 6px), 15% calc(100% - 16px), 0 calc(100% - 16px), 6px calc(100% - 16px), 2px calc(100% - 18px), 0 calc(100% - 22px));
    -webkit-clip-path: var(--clip-path);
    clip-path: var(--clip-path);
}
  • 重复的连线的剪裁效果是透明的,可用于实现不规则的复合多边形效果
.double-triangle {
    clip-path: polygon(5px 10px, 16px 3px, 16px 10px, 26px 10px, 26px 3px, 37px 10px, 
26px 17px, 26px 10px, 16px 10px, 16px 17px)
}

在这里插入图片描述
路径可以使用下方的工具自动生成:

选择自定义,可以绘制任意多边形(将鼠标移动到第1个点上,会出现对号按钮,点击后即表示已添加完所有点,拖拽各点调整成最终形状即可。)在这里插入图片描述

任意图形 path()

在这里插入图片描述
点击后动态变化
在这里插入图片描述
(使用Chorme浏览器)效果见 https://demo.cssworld.cn/new/12/2-5.php

<button class="icon-arrow"></button>
.icon-arrow {
    width: 32px; height: 32px;
    background: linear-gradient(45deg, deepskyblue, deeppink);
    clip-path: path("M16.016 1.157l-15.015 15.015h9.009v16.016h12.012v-16.016h9.009z");
    transition: .2s;
}
.icon-arrow:active {
    clip-path: path("M16.016 31.187l15.015-15.015h-9.009v-16.016h-12.012v16.016h-9.009z");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值