2013-05-13 12 views
0

以前没有SASS如果类共享相同的CSS属性,更容易将它们分组如下分组CSS类VS具有相同属性的性能时,单独的类 - SASS/SCSS实施

.header, .content, .footer { 
    height:100%; 

} 

但SASS/SCSS等管理样式非常容易。 所以问题给出CSS性能考虑givent下面

@mixin sameHeight{ 
    height:100%; 
} 

的混入应落实情况

.content { 
    @include sameHeight; 
} 

.footer { 
    @include sameHeight; 
} 

.header { 
    @include sameHeight; 
} 

/* CSS OUTPUT */ 

    .header { 
     height:100%; 

} 

    .content{ 
     height:100%; 
} 

    .footer{ 
     height:100%; 
} 

还是应

.header, .content, .footer { 
    @include sameHeight; 

} 

/* CSS OUTPUT */ 
.header, .content, .footer { 
     height:100%; 
} 
+0

注重可维护性,性能差异很小。确保你最小化和gzip生产。 – steveax 2013-05-13 14:22:24

+0

我不认为有太多的可维护性问题,但如果你有这样的事情,性能可能会受到影响http://s1.wp.com/wp-content/themes/pub/twentytwelve/style.css?m=1367965626g – MonteCristo 2013-05-13 14:40:35

回答

0

我不知道有关性能差异,不同的结构并没有真正改变我的服务器的性能,你可能必须自己测试它。

在CSS中一遍又一遍地写同样的东西会使文件变大......而更大的文件=加载&渲染时间更长一些。一般来说,我们应该尽量避免冗余。

但我认为,结构主要取决于整个文件是如何组织的......以及您想要对相同的类进行什么操作。

你也可以看看@extend,在那里你可以实现通过执行类似相同的:

@mixin sameHeight{ 
    height:100%; 
} 
.header { 
    @include sameHeight; 
} 
.content { 
    @extend .header; 
} 
.footer { 
    @extend .content; 
} 

但正如我所说...... 这一切都取决于你想要的东西做的操作。 ..以及您希望规则如何继承属性

最后,预处理器主要是为了让你更容易地设计风格。

编辑:对于CSS性能测试,你可以试试Andy's stress test

+0

好吧,让我给一个更实际的例子http://s1.wp.com/wp-content/themes/pub/twentytwelve/style.css?m=1367965626g你可能有'article.format-quote footer.entry- meta, article.format-link footer.entry-meta, article.format-status footer.entry-meta { \t font-size:11px; \t font-size:0.785714286rem; \t line-height:2.181818182; } '现在在这个特定的样式表中有很多像这样的实例 – MonteCristo 2013-05-13 14:36:54

+0

您如何测试CSS性能? – MonteCristo 2013-05-13 14:41:10

+0

我不完全相信你要我用这个文件做什么......我更新了答案......我在我的服务器上尝试了它......并且它在性能上没有太大变化......但是正如我写的...如果文件CSS不必要的真的很长,可能需要稍长的时间才能加载。 – 2013-05-13 14:42:13

相关问题