使用SVG剪辑(或屏蔽)DIV

时间:2012-04-23 19:00:36

标签: html css svg mask clip

我已经google了很多,我刚刚放弃了,所以我会转向那里的专家,看看是否有人可以帮我完成任务。

我通过插画家​​将徽标转换为.SVG。

我的目标是使用该徽标剪辑(或掩饰,如果您愿意)整个div,以便只显示其中的一小部分,您可以看到背景。

我决定采用.SVG方式,因为我想将此网站创建为完全可扩展的体验,因此.png无法从全高清分辨率精确到1024x768。

首先,我想知道如何剪辑Div并同时如何“反向剪辑”,以便不仅仅显示div的那部分,而是显示除了它之外的所有内容。

我会急切地等待你的答案,因为我真的需要它们......

提前谢谢你。

4 个答案:

答案 0 :(得分:0)

我认为你无法做到这一点。我曾经看过一个插件和一个生成器like this,虽然我认为这可能不是你最好的选择。

我会在svg中加入你想要剪辑的任何文字,我确信这比查找你的html与svg正确交互的方法更容易。

答案 1 :(得分:0)

如果我理解正确(而且我不确定),你想要在背景中显示符合徽标形状的所有内容,这是正确的吗?但是,如果“反转”您的徽标,使其自身透明,并为背景提供中性色,如黑色或白色或其他东西。然后你可以把两个div放在一起,顶部是你的Logo。

我创造了一个小提琴来向你展示我的意思: http://jsfiddle.net/ds82/R4rBH/2/

Der circle是徽标,它在蓝线内外是透明的,它是一个svg。希望这就是你想要的。

答案 2 :(得分:0)

好吧,因为我无法通过.svg这样做。我最后只使用.png,其中一切都是黑色的,我的Logo是透明的。有点难过我虽然找不到答案......

答案 3 :(得分:0)

基本上你想要做的只是in Firefox目前才有效。方法是在SVG中定义正确的<mask>元素,然后通过CSS应用它:

#content {
  mask: url(remote.svg#logo-mask);
}

(或者,如果你嵌入了SVG:)

#content {
  mask: url(#logo-mask);
}