覆盖CSS Vs选择性地使用Modernizer加载CSS(YepNope)

Dan*_*Dan 5 css modernizr yepnope

不确定如何测试这个但是通过使用Modernizer.load的查询加载CSS样式表是否有任何性能提升,而不是仅在同一样式表中用CSS类名覆盖规则.

例如,如果设备具有触摸支持,那么我有一个不同的布局要加载,是否更快做...

{
  test: Modernizr.touch,
  yep : 'css/touch.css',
  nope: 'css/base.css'
}
Run Code Online (Sandbox Code Playgroud)

或者覆盖相同样式表中的样式......

.container { width: 50% }

.touch .container { width: 100% }
Run Code Online (Sandbox Code Playgroud)

似乎差异归结为额外查询的速度和一个大CSS文件的重量?

小智 0

你需要明白这里有 3 个细节。

  1. 对服务器的调用。

  2. 浏览器计算所有父样式的时间

  3. 文件的重量。

所以答案是。

如果您编写的 css 属性之间没有换行符,则 1 个大文件将比 2 个文件更大。是重量的答案,因为 1 档更好。

如果您要使用 .touch 类制作整个页面,则更需要计算包含类的文件。

所以,我要做的就是只调用服务器一次并创建一个文件,因为最好将所有样式加载在一起,并且对服务器的调用(重要的时间值)将很快