3

当浏览器解析 css 时,它是在遇到资源时加载资源还是在读取 css 文件并构造了一组有效规则之后加载资源?

这是一些 css,它为 IE 使用图像,但为支持它的浏览器使用 RGBA 背景。我认为 IE 将忽略 rgba 值并加载图像,而其他浏览器永远不会请求图像。这是真的?

background:transparent url('../img/content/black-mask.png') repeat top left;
background:rgba(0,0,0,0.7);
4

1 回答 1

1

浏览器在将样式表应用到文档结构时总是首先生成“计算样式”。因此background-image:,您选择的框的属性将始终为空,因为速记background:属性清除了该background-image属性,因为您没有在第二行中设置任何内容 - 因此取消了第一行。

然而,即使使用计算样式,浏览器也不一定会下载图像。尝试对 psuedo-class 使用不同的图像,:hover您会注意到浏览器下载它时会出现延迟。

@Andre 是正确的,因为它主要是一个实现细节,但是很多行为是由 CSS 规范定义的(例如计算样式的东西)。

我想更多的浏览器可能希望通过抢先下载样式表引用的资源来改善浏览体验,但你不能指望它(如果移动浏览器在蜂窝网络上,它们可能永远不会这样做以消耗更少的数据)。

于 2012-07-27T01:11:00.983 回答