1

我有一个 DIV 图像,我将其样式化为按钮。为此,我使用了两个背景图像(SVG 格式)和一个边框(出于调试目的,边框非常大)。我希望背景图像显示在边框下方。样机 CSS:

.element {
background: url(bg1.svg) no-repeat,
    url(bg2.svg) no-repeat;
background-clip:border-box, border-box;
-webkit-background-clip:border-box;
-moz-background-clip:border-box;
background-size: cover, cover;
border: 10px inset rgba(255, 255, 255, .20);
}

另请注意,该元素是一个弹性框,因此它是动态调整大小的。

结果: Chrome、IE、Firefox 和 Safari 都在部分边框下方显示背景,但不是全部。

Chrome 和 IE 仅在边框底部面板下显示背景。

Chrome 在背景和两侧的边框之间也有一两个像素。

关于为什么会出现此问题或如何解决此问题的任何想法?

编辑:当图像为 PNG 格式时,Chrome 中背景和边框之间的小间隙通常不是问题。问题似乎是背景缩放不够。知道如何解决吗?

4

1 回答 1

1

找到了修复:背景大小:封面似乎是基于内容大小(没有边框)。使用大于 100% 的值可以解决足够大元素的问题。

我还需要添加preserveAspectRatio="none"到 SVG 脚本。

于 2013-06-01T06:15:55.887 回答