CSS Masking(翻译)
原文地址:http://www.html5rocks.com/en/tutorials/masking/adobe/
关于计算机图形,两种常见的操作是:cliping(裁剪) and masking (屏蔽)。这两种操作都是通过隐藏一个元素的视觉部分实现的。
如果在之前,你已经用 SVG 或者 HTML Canvas 工作过。那么这两种操作对于你而言并不陌生。
cliping 定义一个元素的可见区域。在这个区域周围的内容都不会被渲染,---------因为它被裁剪掉了。
在 masking,被屏蔽的图像是用另一个被修改了alpha通道的元素合成的。一个元素被屏蔽的部分被全部或部分的透明处理了。
而这个新的 CSS Masking规范的目的是:把这两个操作带入HTML的世界。
Clipping in css 2.1
在CSS2.1中,就指定了clip 属性。这个属性使用的是矩形来裁剪,方法是 rect(),参数为top,right,bottom and left edges。
不足的是,这个 clip 属性只能使用在绝对定位的元素中。 其他的元素则被忽略了。
CSS:
img {
position: absolute;
clip: rect(10px, 290px, 190px, 10px);
}
HTML:
<img src="data:image.jpg" width="568">

在SVG中,这个 clip 元素也只能使用在特定的元素上。所以SVG规范增加 clip-path 属性来适应现在的 CSS Masking。
the clip-path property
clip-path 属性能够运用于所有的html元素,SVG图形元素和 SVG容器元素上,
它要么引用一个 <clipPath> 元素,要么引用在CSS Exclusions中介绍的几个基本形状之一。
这个 <clipPath> 元素采用SVG 上的任何图形元素 ,并且使用它们作为裁剪区域。它们分别是<rect>,<circle>,<ellipse>,<path> ,<polygon>,<image> 和<text>。
<clipPath>也允许多个图形元素结合使用。所有形状的结合作为裁剪区域。
下面的示例演示<clipPath> 的使用
CSS:
img {
clip-path: url(#clipping);
}
HTML:
<svg>
<defs>
<clipPath id="clipping">
<circle cx="284" cy="213" r="213" />
</clipPath>
</defs>
</svg> <img src="data:image.jpg" width="568">
另一方面,基本形状不需要任何的SVG 标记。它们被增加到clip-path 中,来为简单的裁剪操作提供简单,速记的函数。
关键词像content-box,border-box,margin-box 能够结合使用基本形状来定位和指定裁剪路径的大小。
没有定义基本形状的时候,关键字充当裁剪路径,它们自己也要考虑border-radius属性。
CSS标记看起来像下面的例子:
img {
clip-path: polygon(0px 208px, 146.5px 207px, 147px 141.2px, ...);
}
Cliping对于可视内容的呈现是非常有用的。下面的例子将不同的裁剪操作运用在图像上。
ssss
sssss
CSS Masking(翻译)的更多相关文章
- CSS Secrets 翻译笔记 01: CSS coding tips
.firDemoButton{ padding: 6px 16px; border: 1px solid #446d88; background: #58a linear-gradient(#77a0 ...
- CSS遮罩——如何在CSS中使用遮罩
Css遮罩是2008年4月由苹果公司添加到webkit引擎中的.遮罩提供一种基于像素级别的,可以控制元素透明度的能力,类似于png24位或png32位中的alpha透明通道的效果. 图像是由rgb三个 ...
- CSS和SVG中的剪切——clip-path属性和<clipPath>元素
剪切是什么 剪切是一个图形化操作,你可以部分或者完全隐藏一个元素.被剪切的元素可以是一个容器也可以是一个图像元素.元素的哪些部分显示或隐藏是由剪切的路径来决定的. 剪切路径定义了一个区域,在这个区域内 ...
- 【转】CSS和SVG中的剪切——clip-path属性和<clipPath>元素
本文由大漠根据SaraSoueidan的<Clipping in CSS and SVG – The clip-path Property and <clipPath> Elemen ...
- [转]CSS遮罩——如何在CSS中使用遮罩
特别声明:此篇文章由D姐根据Christian Schaefer的英文文章原名<CSS Masks – How To Use Masking In CSS Now>进行翻译,整个译文带有我 ...
- css Masks
css Masks:添加蒙板: 测试在微信端可以支持了.谷歌浏览器支持.safari应该也是支持的. 效果:http://runjs.cn/code/xrrgmgmk 但是谷歌可以支持这样子的:htt ...
- CSS——关于z-index及层叠上下文(stacking context)
以下内容根据CSS规范翻译. z-index 'z-index'Value: auto | <integer> | inheritInitial: autoApplies to: posi ...
- CSS常见技巧
一.CSS Sprite(雪碧图|精灵图)指什么? 有什么作用? CSS雪碧 即CSS Sprite,也有人叫它CSS精灵,是一种CSS图像合并技术,该方法是将小图像和背景图片合并到一张图片上,然后利 ...
- CSS的clip-path 一
首先介绍一下,我觉得前端开发都是很具有分享精神的,很多人都写出了很多优秀的总结经验供新手们参考,本人只是个搬运工,将别人优秀的文章进行了总结,本文主要转载自 大漠 的文章 http://www. ...
随机推荐
- HTML 网页游戏 2048
新手只会一点html和css,javascript基本不会,更别提jQuery了= = 跟着慕课网的教学视频(视频地址:http://www.imooc.com/learn/76)一点点做的,由于自己 ...
- C++下字符串转换
引用自:http://blog.sina.com.cn/s/blog_a98e39a20101ari9.html 把最近用到的各种unicode下类型转换总结了一下,今后遇到其他的再补充: 1.str ...
- 编写Word宏使选中的图片改变为固定宽度并保持纵横比
代码如下: Sub 改变图片宽度为12并设置灰色边框() ' ' 改变图片宽度为12并设置灰色边框 宏 ' ' ' Application.Run MacroName:="改变图片大 ...
- 如何用jQuery实现在鼠标滚动后导航栏保持固定
要实现如下效果,鼠标滚动后,上方导航栏置顶固定 关键html代码: <div class="header-bottom"> <div class="co ...
- bzoj1095: [ZJOI2007]Hide 捉迷藏 线段树维护括号序列 点分治 链分治
这题真是十分难写啊 不管是点分治还是括号序列都有一堆细节.. 点分治:时空复杂度$O(n\log^2n)$,常数巨大 主要就是3个堆的初始状态 C堆:每个节点一个,为子树中的点到它父亲的距离的堆. B ...
- 【转】在Windows下搭建React Native Android开发环境
http://www.jianshu.com/p/2fdc4655ddf8 安装JDK 从Java官网下载JDK并安装.请注意选择x86还是x64版本. 推荐将JDK的bin目录加入系统PATH环境变 ...
- G++ 教程(转)
简介 gcc and g++分别是GNU的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文 ...
- jqgrid表格列动态加载的实现
选中几个测点名,在表格中就显示几列. 具体代码如下: function reloadGrid(postData){ $('#gridTable').jqGrid('GridUnload'); var ...
- 从本地上传整个目录到hdfs的java程序
首先在网上找了好久没有找到从本地文件系统上传整个目录到hdfs文件系统的程序,权威指南上也没有,都是单个文件上传,所以这里自己编写了一个程序,封装成jar包执行能够复制. 先说明一下代码:须要手动输入 ...
- 【转】C/C++求模求余运算符——2013-08-20
http://blog.csdn.net/whealker/article/details/6203629 求模运算符(%),或称求余运算符,也就是数学上所谓的除法中的余数,%两侧均应为整数, |小| ...