媒体查询:覆盖 CSS 规则与定义特定于屏幕的 CSS 规则
Media queries: Overriding CSS rules vs defining screen specific CSS rules
我假设,就像在 link 标签中使用的媒体查询一样,我们在 CSS 文件中定义的媒体查询是 parsed/overwritten 或被浏览器省略根据他们的媒体查询规则(实际上我知道,尽管 link 标签请求的具有不匹配媒体的 CSS 文件无论如何都会被下载,但它们不会渲染阻止浏览器)。
因此,从 CSSOM 构建优化的角度来看,将适用于所有屏幕设备的通用 CSS 规则与特定于移动设备的 CSS 规则分开并封装移动设备不是更好吗?最大宽度媒体查询中的特定规则?这样浏览器将解析更少 CSS 来构建 CSSOM 而无需为平板电脑、台式机等覆盖它们。我想知道这是否会影响 CSSOM 性能的构建或者是它只是矫枉过正?
<link>
具有不匹配媒体查询的标签以低优先级下载,这样它们就不会阻止页面呈现,但仍会下载以便在媒体属性发生变化时可用(例如通过旋转智能手机或通过缩小桌面浏览器)。为不同的媒体类型使用单独的样式表是有好处的,但创建多个 HTTP 请求也有缺点。
样式表中的媒体块已经下载,我假设它们无论如何都被编译了,所以它与标签中的媒体查询并不完全相同。但是,如果一组特定的规则只与特定的宽度相关,并且总是在更宽的屏幕上被覆盖,那么通过将其封装在媒体查询中来告诉浏览器是有意义的。这不仅与原始页面呈现有关,而且与需要重绘的 window 或 DOM 的任何更改有关 - 浏览器需要评估的规则越少,速度就越快。
我假设,就像在 link 标签中使用的媒体查询一样,我们在 CSS 文件中定义的媒体查询是 parsed/overwritten 或被浏览器省略根据他们的媒体查询规则(实际上我知道,尽管 link 标签请求的具有不匹配媒体的 CSS 文件无论如何都会被下载,但它们不会渲染阻止浏览器)。 因此,从 CSSOM 构建优化的角度来看,将适用于所有屏幕设备的通用 CSS 规则与特定于移动设备的 CSS 规则分开并封装移动设备不是更好吗?最大宽度媒体查询中的特定规则?这样浏览器将解析更少 CSS 来构建 CSSOM 而无需为平板电脑、台式机等覆盖它们。我想知道这是否会影响 CSSOM 性能的构建或者是它只是矫枉过正?
<link>
具有不匹配媒体查询的标签以低优先级下载,这样它们就不会阻止页面呈现,但仍会下载以便在媒体属性发生变化时可用(例如通过旋转智能手机或通过缩小桌面浏览器)。为不同的媒体类型使用单独的样式表是有好处的,但创建多个 HTTP 请求也有缺点。
样式表中的媒体块已经下载,我假设它们无论如何都被编译了,所以它与标签中的媒体查询并不完全相同。但是,如果一组特定的规则只与特定的宽度相关,并且总是在更宽的屏幕上被覆盖,那么通过将其封装在媒体查询中来告诉浏览器是有意义的。这不仅与原始页面呈现有关,而且与需要重绘的 window 或 DOM 的任何更改有关 - 浏览器需要评估的规则越少,速度就越快。