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

取值

<clip-source>:用 <url> 表示剪切元素的路径

<basic-shape>:一种形状,其大小和位置由<几何盒>值定义。如果没有指定几何框,则边框将用作参考框

<geometry-box>:如果同 <basic-shape> 一起声明,它将为基本形状提供相应的参考框盒。通过自定义,它将利用确定的盒子边缘包括任何形状边角(比如说,被 border-radius 定义的剪切路径)。几何框盒可以有以下的值中的一个:

  • margin-box:使用 margin box 作为引用框。
  • border-box:使用 border box 作为引用框。
  • padding-box:使用 padding box 作为引用框。
  • content-box:使用 content box 作为引用框。
  • fill-box:利用对象边界框作为引用框。
  • stroke-box:使用笔触边界框(stroke bounding box)作为引用框
  • view-box:使用最近的 SVG 视口(viewport)作为引用框。如果viewBox 属性被指定来为元素创建 SVG 视口,引用框将会被定位在坐标系的原点,引用框位于由 viewBox 属性建立的坐标系的原点,引用框的尺寸用来设置 viewBox 属性的宽高值。

none:不创建的剪切路径。

语法

/* 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: 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: unset;

正式语法

<clip-source> | [ <basic-shape> || <geometry-box> ] | none

where
<clip-source> = <url>
<basic-shape> = <inset()> | <circle()> | <ellipse()> | <polygon()> | <path()>
<geometry-box> = <shape-box> | fill-box | stroke-box | view-box

where
<inset()> = inset( <length-percentage>{1,4} [ round <'border-radius'> ]? )
<circle()> = circle( [ <shape-radius> ]? [ at <position> ]? )
<ellipse()> = ellipse( [ <shape-radius>{2} ]? [ at <position> ]? )
<polygon()> = polygon( <fill-rule>? , [ <length-percentage> <length-percentage> ]# )
<path()> = path( [ <fill-rule>, ]? <string> )
<shape-box> = <box> | margin-box

where
<length-percentage> = <length> | <percentage>
<shape-radius> = <length-percentage> | closest-side | farthest-side
<position> = [ [ left | center | right ] || [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]? | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]
<fill-rule> = nonzero | evenodd
<box> = border-box | padding-box | content-box

与SVG对比

<style>#clipped {margin-bottom: 20px;clip-path: url(#cross);}
</style>
<img id="clipped" src="https://mdn.mozillademos.org/files/12668/MDN.svg" alt="MDN logo"><svg height="0" width="0"><defs><clipPath id="cross"><rect y="110" x="137" width="90" height="90"/><rect x="0" y="110" width="90" height="90"/><rect x="137" y="0" width="90" height="90"/><rect x="0" y="0" width="90" height="90"/></clipPath></defs>
</svg><select id="clipPath"><option value="none">none</option><option value="circle(100px at 110px 100px)">circle</option><option value="url(#cross)" selected>cross</option><option value="inset(20px round 20px)">inset</option><option value="path('M 0 200 L 0,110 A 110,90 0,0,1 240,100 L 200 340 z')">path</option>
</select>

clip-path: circle(40%);
clip-path: ellipse(130px 140px at 10% 20%);
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);

案例:

如下:通过亮色轨道和暗色轨道重叠,之后不断剪裁亮色轨道,实现沿轨道流动的效果

.clip-path-bg {width: px2rem(457);height: px2rem(371);@include imgPath("light-border.png");position: absolute;top: 0.324rem;top: 32.4vw;left: 0.288rem;left: 28.8vw;-webkit-clip-path: circle(70%);clip-path: circle(70%);animation: Streamer 3s linear infinite;
}@keyframes Streamer {0% {-webkit-clip-path: polygon(0 0, 20% 0, 20% 20%, 0 20%); //4个点矩形clip-path: polygon(0 0, 20% 0, 20% 20%, 0 20%);}30% {-webkit-clip-path: polygon(69% 0, 100% 0, 100% 27%, 68% 29%);clip-path: polygon(69% 0, 100% 0, 100% 27%, 68% 29%);}60% {-webkit-clip-path: polygon(62% 36%, 100% 37%, 100% 64%, 60% 65%);clip-path: polygon(62% 36%, 100% 37%, 100% 64%, 60% 65%);}80% {-webkit-clip-path: polygon(57% 52%, 95% 53%, 95% 88%, 53% 86%);clip-path: polygon(57% 52%, 95% 53%, 95% 88%, 53% 86%);}100% {-webkit-clip-path: polygon(0 61%, 36% 60%, 35% 100%, 0 100%);clip-path: polygon(0 61%, 36% 60%, 35% 100%, 0 100%);}
}

详细查看MDN:mozilla

css clip-path相关推荐

  1. CSS clip:rect矩形剪裁功能

    CSS中有一个属性叫做clip,为修剪,剪裁之意.配合其属性关键字rect可以实现元素的矩形裁剪效果.此属性安安稳稳地存在于CSS2.1中,且使用上基本上没有类似于max-height/display ...

  2. 将CSS CLIP属性应用在:扩展覆盖效果

    日期:2013-3-18  来源:GBin1.com  在线演示 我们想要展示如何利用CSS3 clip属性制作一种简单而整洁的扩展效果,当点击一个box元素时实现平稳过渡.这个想法是为了实现某种叠加 ...

  3. CSS clip:rect矩形剪裁功能及一些应用介绍

    CSS clip:rect矩形剪裁功能及一些应用介绍 by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.c ...

  4. css clip generator/css图片裁剪网站推荐

    css clip generator 根据裁剪的形状生成css代码

  5. css环形进度条clip,使用CSS clip 属性实现音频播放圆环进度条

    这是效果 突然有需求要做一个圆环的音频播放进度条(上图效果),自己琢磨尝试了半天,也没有实现.最后度娘一下,才知道css还有一个clip属性,完美实现需求.分享一下,说不定能帮其它小伙伴.至于有没有用 ...

  6. reuse project css less path folder hierarchy issue

    Question 1580024800 - Internal Incident: Q2C/GM4: Issue in 'Simulate sales pipeline' app. I ran into ...

  7. css 剪辑图片_CSS clip:rect 矩形剪裁功能,截取图片某一块

    CSS clip:rect 矩形剪裁功能,截取图片某一块 2016-12-14 10:43 4715 最近我在制作一款主题的时候,在自适应css设计中,为了调整图片大小,又不愿意改变图片比例的情况下, ...

  8. CSS图片裁剪Clip

    CSS Clip 裁剪 可以用它来裁剪一张图片噢. 我们来裁剪一下Google图标,把G字给裁剪下来. 注意这个clip得配合绝对定位才能使用,不然不起效果. rect (top, right, bo ...

  9. CSS的clip-path

    摘要:在Web网页中主要是以矩形分布的.而平面媒体则倾向于更多不同的形状.造成这种差异的原因是因为缺少合适的工具去实现我们平面媒体中的内容.这也就造成了很多设计师的创意发挥,就算是有创意,前端实现也将 ...

  10. 360 css grid,【第2210期】使用 CSS 创造艺术

    原标题:[第2210期]使用 CSS 创造艺术 前言 周末愉快.今日前端早读课文章由虾皮@SbCoco投稿, 公号:iCSS前端趣闻分享. 想写一篇关于 CSS 创造艺术的文章已久,本文主要介绍如何借 ...

最新文章

  1. 为什么要使用sigmoid,tanh,ReLU等非线性函数?
  2. 第十五届全国大学生智能汽车竞赛各分赛区国赛获奖信息
  3. python中文编辑器推荐-Python使用什么编辑比较好,Python编辑器推荐
  4. 十种创业病 你得了几个?
  5. 高等数学-微分方程知识点
  6. lingo逻辑运算符
  7. python 使用pexpect实现自动交互示例
  8. android客户端下载图片的方法
  9. VSCode详细安装教程
  10. Python第十课(函数3)
  11. 华为oj题库分苹果JAVA_华为OJ机试训练(一)
  12. 一文看懂张小龙 2018 微信公开课演讲
  13. dos攻击防范 php,DOS攻击和DDOS攻击的区别
  14. 手把手式介绍 ADNI 影像数据下载
  15. 小笨狼的LLDB技巧:chisel
  16. 国密SM2算法(JS加密,C#、Java解密)
  17. 【前沿技术】在安全且可靠的区块链基础设施中运行业务条线应用
  18. 前沿关注 | 5G和边缘计算将如何改变AR和VR?
  19. Android webView长按保存图片到本地相册(队列下载实现)
  20. 按照物种丰度对OTU表格进行拆分-丰富和稀有物种识别

热门文章

  1. 华润置地php面试题_华润置地有限公司面试攻略,面试题,面试技巧及流程(附笔试,评论,薪资)-金针菇企评网...
  2. 机器视觉系统图像采集卡功能特点及应用场景介绍
  3. C++程序设计原理与实践 习题答案 第九章 第9章习题答案
  4. Vue CLI 官方文档(一)@vue/cli、@vue/cli-service、插件和 Preset
  5. win10远程桌面连接报错(出现身份验证错误。要求的函数不受支持。CredSSP 加密数据库修正)解决办法
  6. Wi-Fi Mesh网络技术
  7. OpenDNS(转)
  8. 阿里云金融创新峰会云原生分论坛圆满举办,加速金融行业落地云原生
  9. ElasticSearch【从入门到服务器部署项目案例】详细教程
  10. 谁说chatGPT要取代数据分析师?