CSS'后备图像'

时间:2010-11-03 15:18:40

标签: css background-image fallback

所以如果你有这样的代码:

background: url('image.png');
background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#000));

如果它是webkit,您的浏览器将使用渐变,但如果不是,则它将回退并使用图像。如果您使用的是webkit,则甚至无法下载图像。所以如果你有:

background: url('image1.png');
background: url('image2.png');

首先下载'image1'还是执行与“后备”图片相同的规则?

2 个答案:

答案 0 :(得分:3)

Chrome(在v9.x上测试)只会下载第二张图片。请参阅此sample page

上的开发人员工具

答案 1 :(得分:2)

相同的规则适用 - 正在发生的事情(粗略地)是webkit读取第二个规则,识别它替换第一个规则并且这样做,然后很久以后实际上在它们被使用时对它们做了一些事情,但它只是一个值直到那时。对于非webkit浏览器,第二个规则看起来像垃圾,所以他们跳过它,第一个规则仍然存在,这就是为什么它有效地作为一个后备工作(即使向前推进会更正确)。

这对于所有浏览器都不相同 - 尽管所有浏览器都只应用一个规则IIRC IE6<使用了第一条规则,并且在“特征”周围有一些旧学校的黑客。