使用 CSS3 仅显示背景图像的一部分
使用 CSS3 时是否可以仅显示背景图像的一部分?我想使用图像作为背景,但只显示一半,那么是否可以为背景图像定义类似遮罩之类的东西?
Is it possible to show only a part of a backgroundimage when using CSS3? I want to use an image as a background but only show half of it, so is there something like a mask you can define for your backgroundimages?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
唯一的问题是“clip-path”、“mask”和“filter”(不,不是 IE“filter”,而是 SVG“filter”)仅适用于 Firefox 和 Safari(是的,不适用于 Chrome)。他们的做法不同。 Firefox 需要通过 id 指定的 svg 剪辑路径,例如:
而 Safari 仅使用形状本身来创建剪辑路径:
我还没有找到在 Opera 和 Chrome 中实现这一点的方法。
但对于 FF 和 Safari “跨浏览器”示例,我创建了这个: http://tokimon .dk/testing/css-svg-test.html。
否则,也许你可以从 CSS 3 的后台操作中得到一些东西: http://www.css3.info/预览/
Well only problem is that "clip-path", "mask" and "filter" (no not the IE "filter" but SVG "filter") only works for Firefox and Safari (yes no Chrome). And they do it differently. Firefox needs an svg clippath specified via an id eg:
while Safari just uses the shape itself to create clippath from:
I have yet to discover a way to do it in Opera and Chrome.
But for FF and Safari "cross browser" example i have created this: http://tokimon.dk/testing/css-svg-test.html.
Otherwise maybe you can get something out of the background manipulation in CSS 3: http://www.css3.info/preview/
WebKit 现在支持 CSS 中的 alpha 遮罩
SVG 图像可以用作蒙版。例如,部分透明的圆圈。
-webkit-mask-image: url(circle.svg);
http://webkit.org/blog/181/css-masks/
希望这有帮助。
WebKit now supports alpha masks in CSS
SVG images can be used as masks. For example, a partially transparent circle.
-webkit-mask-image: url(circle.svg);
http://webkit.org/blog/181/css-masks/
hope this helps.
在 Opera 中,您只能在 xhtml 页面中使用内联 SVG 来实现该效果。将图像放入 SVG 中,定义遮罩并执行
以获得效果。
In Opera you can only use inline SVG in a xhtml page to do that effect. Chuck your image inside SVG, define a mask and do a
<use xlink:href="#image" mask="url(#yourmask)"/>
to get the effect.试试这个:
Try this: