是否可以overflow: visible
在<svg>
元素上设置?
这个关于 jsfiddle的简单示例在我可以访问的每个浏览器(某些版本的 Chrome 和 Firefox)中都会中断,因为它们的行为就像overflow: hidden
.
谁能告诉我 svg 支持是否仍然太不成熟而无法做如此简单的事情,或者我在代码中做错了什么?
我的实际用途overflow: visible
是图表上的范围轴,其中刻度的下半部分-0
被切断。
是否可以overflow: visible
在<svg>
元素上设置?
这个关于 jsfiddle的简单示例在我可以访问的每个浏览器(某些版本的 Chrome 和 Firefox)中都会中断,因为它们的行为就像overflow: hidden
.
谁能告诉我 svg 支持是否仍然太不成熟而无法做如此简单的事情,或者我在代码中做错了什么?
我的实际用途overflow: visible
是图表上的范围轴,其中刻度的下半部分-0
被切断。
我假设您的意思是 HTML 中的内联 <svg> 元素,如果是这样,那么这只是一个实现限制。IE9+ 允许overflow:visible
使用 <svg> 元素,但到目前为止其他浏览器还没有 AFAIK。
一种可能的解决方法(这实际上是首先应该如何完成恕我直言)是指定一个viewBox
定义svg内部坐标系的a。然后你在这个坐标系内绘制东西。如果东西被剪裁(或者换句话说,如果元素在viewBox
区域之外),那么只需相应地增加viewBox
宽度和/或高度。
如果您想知道您的特定 的良好默认值,请viewBox
尝试[0 0 width height]
(其中宽度和高度是您目前拥有的 svg 的大小),然后只需增加高度,直到底部刻度完全可见。
2014 年更新:
跨浏览器仍然有点不一致,但它已经到达那里。Firefox 和 IEoverflow:visible
对内联 svg 元素的支持,并且 Blink (Opera 23/Chrome 36) 也增加了对它的支持,详情请参阅bugreport。
overflow: visible
box-shadow : 0px -0px 10000px transparent /*trick for chrome*/
向 SVG 添加一个巨大的 box-shadow ,或者将 SVG 添加到一个带有巨大阴影的 DIV 中解决它。在 Chrome 中,我注意到溢出被裁剪到 box-shadow 限制。