加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

详解CSS Masking模块之Clipping

发布时间:2020-05-11 23:24:11 所属栏目:站长百科 来源:站长网
导读:副标题#e# 最近业务中需要实现一些镂空的效果。看到这些效果我最初想到的是通过CSS的 mask 和 clip-path 来实现,甚至还想结合SVG相关的特性。为了验证自己的一些想法,开始着手撸码,但问题来了,在撸码的过程中,我发现自己对于 mask 的相关特性理解的还

none :未创建任何剪切区域 <basic-shape> :CSS中绘制基本形状的函数,常见的函数有 inset() 、 circle() 、 ellipse() 、 polygon() 、 url() 和 path() <geometry-box> :如同 <basic-shape> 一起声明,它将为 <basic-shape> 提供相应的参考框盒子。通过自定义,它将利用确定的盒子边缘包括任何形状边角(比如说,被 border-radius 定义的剪切路径)

<geometry-box> 提供的框盒模式主要有:

margin-box :使用 margin box 作为引用框。其主要由 margin 的外部边缘包围的形状。这种形状的圆角半径由相应的 border-radius 和 margin 的值来决定。如果 border-radius 和 margin 的比是 1 或更大,则边距框( margin-box )的半径是 border-radius + margin 。反之,如果两者的比小于 1 ,那么边距框的半径是 border-radius + (margin * (1 + (ratio-1)^3)) ( ratio 是 border-radius 和 margin 的比,即 border-radius / margin ) border-box :使用 border box 作为引用框。定义了 border 外部边缘包围的形状,此形状遵循 border 外部边缘所有常规的 border-radius 规则 padding-box :使用 padding box 作为引用框。定义了 padding 外部边缘包围的形状,此形状遵循 padding 外部边缘所有常规的 border-radius 规则 content-box :使用 content box 作为引用框。定义了 content 外部边缘包围的形状,此框的每个 border-radius 都大于 0 或 border-radius - border-width - padding fill-box :利用对象边界框作( Object bounding box )为引用框 stroke-box :使用笔触边界框( Stroke bounding box )作为引用框 view-box :使用最近的 SVG视窗(Viewport) 作为引用框。如果 viewBox 属性被指定来为元素创建SVG视窗,引用框将会被定位在坐标系统的原点,引用框位于由 viewBox 属性建立的坐标系的原点,引用框的尺寸用来设置 viewBox 属性的宽和高

如果是一个HTML元素被剪切,可以使用 margin-box 、 border-box 、 padding-box 或 content-box 框盒模式;如果运用于一个SVG元素上,可以使用 fill-box 、 stroke-box 或 view-box 。

先来看绘制基本函数的使用。

inset()

inset() 用来绘制矩形,或者带圆角的矩形。

clip-path: inset( <length-percentage>{1,4} [ round <'border-radius'> ]? )

<length-percentage> 用来设置剪切区域距离上、右、下和左侧外边缘的距离;可以设置一个、两个、三个或四个值。

如果设置一个值,表示上右下左四个值相等;如果设置两个值,表示上下取第一个值,左右取第二个值;如果取值三个值,表示上取第一个值,左右取第二值,下取值第三个值;

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读