口罩壁虎
不工作我试图掩盖了它内部的一些图像,只使用CSS的元素。 我已经做到了这一点,它在使用的WebKit工作-webkit-mask-box-image
罚款,它只是在做我想做的,而是使用其他的浏览器有问题IM。口罩壁虎
壁虎应该工作使用mask
,并且该标记确实显示在萤火虫中,但它实际上并没有使用掩码..我也尝试转换使用base64数据uri的png im,但无济于事。
没有人知道这样做的正确方法是什么?
HTML
<div id='wrap'>
<div class='masked flashing-anim'>
<div class='the-mask' >
<ul>
<li class='blink_1'></li>
<li class='blink_2'></li>
</ul>
</div>
</div>
<div class='the-outline'>
<img src='img/real-stuff.png' height=500 />
</div>
</div>
CSS
#wrap {
position: relative;
}
.the-outline, the-mask {
position: absolute;
top: 0;
}
.the-mask {
height: 500px;
width: 360px;
-webkit-mask-box-image: url(../img/the-mask.png);
-moz-mask-box-image: url(../img/the-mask.png);
-o-mask-box-image: url(../img/the-mask.png);
mask-box-image: url(../img/the-mask.png);
mask: url(data:lotsofchars);
}
第1部分
mask
是不一样的mask-box-image
不幸。如果你阅读(相当稀疏)docs,你会发现它仅适用于SVG。稍后再说。
目前壁虎不支持“面具盒图像” - 如果你search the MDN你会看到它仅适用于-webkit-。
另外,我不认为这实际上是规范。 Webkit已经有了这样的能力/概念(像-webkit-box-reflect
这样的各种形式),我认为这只是那些日子的宿醉。我不确定这是否会被所有浏览器供应商采用(尽管我希望,而且这是合理的)。
第2部分
要使用你需要创建一个SVG元素,并引用了SVG依赖mask:
CSS属性。 Here is a guide。我之前没有使用过这种技术,所以恐怕这就是我现在要做的所有细节。
的替代选项
如果你并不需要一个聪明的重复/成长面具为什么不创建一个大PNG和覆盖文本/图片要隐藏。我不确定自己理解你最终想做什么,但这对我来说似乎很简单。显而易见的问题是,当你需要掩模背后的东西是可选/可交互的(err..interactive即...);例如当你想对文字或链接应用蒙版。解决这个问题的方法是使用Gecko和Webkit支持的pointer-events:none
(但没有别的......)。这里的more from the MDN
对不起,我没有更好的消息 - 如果以上都不是有帮助的请随时发表评论与您的具体要求,我们会看到,如果我们不能变通解决浏览器的限制。
希望这是有帮助的!
事实上,口罩不符合规范的一部分,尽管[有人说](HTTP:// caniuse。com/css-masks),他们正在提出要标准化。我真的不知道这件事。 – BoltClock 2012-02-21 14:52:54
啊,好点 - 我完全错过了那个笔记! – lnrbob 2012-02-21 14:57:57
实际上,您建议的替代选项对我来说似乎与我实际想要实现的一样。什么即时通讯使用这是一个动画typpe的事情,这个面具只是使它都“美丽”。我想我真的不得不限制这个webkit ....或尝试制作一个svg的面具。虽然没有太多经验......无论如何感谢 – 2012-02-21 15:43:54