覆盖CSS样式的性能影响

覆盖CSS样式的性能影响,css,performance,browser,Css,Performance,Browser,出于性能原因,我正在为一个网页(类似于sprite地图)设置一个图像集群。我有一个生成主图像的实用程序,还有一个引用图像映射的css 为了简单起见,我宁愿在常规css文件之后包含新的css,而不是编写脚本来搜索和替换原始css中的所有类。html中的类似内容(psuedo代码): 如果(%=usingImageCluster=%) 因此,在normal.css中定义的所有样式都将被master.css中的新样式覆盖 两个问题: 除了信息的“复制”,这种覆盖是否会导致性能问题 由于原始CSS

出于性能原因,我正在为一个网页(类似于sprite地图)设置一个图像集群。我有一个生成主图像的实用程序,还有一个引用图像映射的css

为了简单起见,我宁愿在常规css文件之后包含新的css,而不是编写脚本来搜索和替换原始css中的所有类。html中的类似内容(psuedo代码):


如果(%=usingImageCluster=%)
因此,在normal.css中定义的所有样式都将被master.css中的新样式覆盖

两个问题:

  • 除了信息的“复制”,这种覆盖是否会导致性能问题

  • 由于原始CSS文件仍然包含在其中,浏览器是否仍会拉取非群集图像(抵消图像群集带来的积极性能提升)

  • 是否保证最后加载的样式始终是应用的样式

除了信息的“复制”,这种覆盖是否会导致性能问题

是的,您正在为第二个外部样式表生成一个新的HTTP请求。HTTP请求过多是大多数网页的#1减速因素

由于原始CSS文件仍然包含在其中,浏览器是否仍会拉取非群集图像(抵消图像群集带来的积极性能提升)

是的,浏览器将从第一个和第二个CSS文件中提取所有图像。性能时间将几乎线性增加(近似值)。特别是如果你正在重写每一个css选择器,或者改变很多图像

是否保证最后加载的样式始终是应用的样式

对。除非第一页使用
!重要信息
在某些样式属性上,将始终应用选择器最后声明的样式。这就是级联样式表的名称所在

<LINK href="normal.css" rel="stylesheet" type="text/css">

if(%=usingImageCluster=%)
      <LINK href="master.css" rel="stylesheet" type="text/css">