0

我相信所有浏览器默认使用background-clip: border-box;. 这似乎是默认行为。

使用时:http: //www.colorzilla.com/gradient-editor/它将过滤器指定为最终属性。使用 IE9 时,背景会溢出边框,并且border-clip 属性变得无效。

这是一个小提琴来说明:http: //jsfiddle.net/tPDMb/3/

我最终只是暂时删除了 filter 语句,但这会导致 ie9 及更低版本根本没有背景渐变。

有没有其他人遇到过这个问题?

4

1 回答 1

1

您正确地说默认行为是剪辑到边框框,的初始值background-clip确实是border-box.

问题是 IE 过滤器不是真正的 CSS 背景层。因此,IE 渐变过滤器将忽略所有背景和边框定位/剪切属性,例如background-clip,background-positionborder-radius. 不幸的是,这是设计使然。在尊重这些属性的同时,让渐变背景在 IE9 及更低版本中工作的唯一方法是使用预渲染的渐变图像。如果您需要支持较旧的 IE,只需将 ColorZilla 提供的 SVG 部分替换为 PNG 图像或类似图像。

于 2012-10-16T01:59:01.157 回答