2012-01-08 126 views
1

我有我用ColorZilla生成的CSS3渐变。我很确定是什么导致了问题是数据的URI。这是我的小提琴:http://jsfiddle.net/cY7Lp/CSS3边框半径和IE9

在WebKit & Firefox中,角落是圆形的,但是在IE9中,角落是圆角的,梯度在它们外面流血,我不希望梯度在角落外流血。有人知道它为什么会发生?

---编辑---

我忘了说,这并不与内联元素,只有块元素发生。

回答

3

它与您的SVG图像或其数据URI无关,但它与您的filter有关。您使用的filter属性生成的效果不会被border-radius剪辑,并且经常与某些其他内容(如背景图片)重叠。

不管这是真正的错误还是意想不到的副作用,我都不知道,但是这是IE9的原因,因为它没有实现CSS3渐变 - 只有IE10才有。

既然您使用的是SVG图像,您可以轻松地回退到该位置,而不是使用filter

+0

明白了,DATA URI备份与半径工作,但IE6-8不能与DATA URI一起工作。也许如果我重新排序呢? – henryaaron 2012-01-08 18:36:37

+0

@ user1090389:重新排序不起作用。过滤器将始终绘制在SVG背景图像上。 – BoltClock 2012-01-08 18:39:17

+0

它会通过-ms线性渐变绘制吗? – henryaaron 2012-01-08 18:40:03

0

边框半径问题似乎在这里讨论:

Support for "border-radius" in IE

...所以,有可能是您的浏览器在传统模式下渲染。

+1

jsFiddle触发标准模式。 – BoltClock 2012-01-08 18:29:43

+0

没有区别... – henryaaron 2012-01-08 18:32:38