2012-06-19 76 views
0

我尝试用仅1图像和1格创建一个漂亮的方块。这里是我的代码:带透明边框图像的背景颜色

border-width: 14px; 
-moz-border-image:url(box.png) 14 round; 
-webkit-border-image:url(box.png) 14 round; 
-o-border-image:url(box.png) 14 round; 
border-image:url(box.png) 14 round; 

和示例:

http://jsfiddle.net/ZHKbn/

在Safari & Firefox中,框的背景是白色的,但在Chrome中,它是透明的。

哪个浏览器是正确的?我需要白色背景版本,有没有修复,让这个工作在Chrome?

谢谢

回答

1

这样就够了吗?

我添加了背景色的内部div。似乎现在在Chrome和Firefox中工作。

http://jsfiddle.net/ZHKbn/2/

这个工程在铬,但在Firefox不工作:

http://jsfiddle.net/ZHKbn/7/

好吧,最后一个。作品在Chrome和Firefox:

http://jsfiddle.net/ZHKbn/8/

border-width: 14px; 
-moz-border-image:url(http://cl.ly/041l44390l002l2j1307/box.png) 14 round; 
-webkit-border-image:url(http://cl.ly/041l44390l002l2j1307/box.png) 14 fill round; 
-o-border-image:url(http://cl.ly/041l44390l002l2j1307/box.png) 14 round; 
border-image:url(http://cl.ly/041l44390l002l2j1307/box.png) 14 fill round; 

+0

好,谢谢,它的解决方案,但我会尽量避免增加额外的div来的语法。在没有内部div的情况下,在Firefox和Opera中工作,所以我只有Chrome的问题,我想这是Chrome的一个bug?奇怪,因为safari也是webkit。无论如何,如果我没有得到更好的答案,我会接受你的:) – passatgt

+0

是的,我试过(并仍在尝试)做更好的方法,但我发现了一个。我不确定它是否是一个铬错误,这取决于边界图像的“正确”行为是什么。如果还有一个“正确”的话。是否真的正确的决定div的背景应该是白色的,即使css中没有这样说的东西?那我不知道...但我更喜欢没有另一个div的解决方案.. – MatteS

+0

http://css-tricks.com/understanding-border-image/这个链接描述了实际填补div的“怪癖”边界图像的中心。并且默认应该放弃它。 – MatteS