LESS / SASS CSS与缩小/优化相反?

时间:2010-08-19 04:33:20

标签: css sass less

我想我能说LESS / SASS CSS“预处理器(我认为它们被称为)”与缩小等优化相反吗?我想知道是否会有明显的性能影响?或者你认为发展是否更为重要?

我问这个,因为LESS CSS生成的内容类似于

body #div1 #div2 p
body #div1 #div2 p a:link, body #div1 #div2 p a:visited
...

我认为它可以让我的CSS真的膨胀一下。正如你所看到的,这种特殊性并不是必需的,这使得阅读CSS很难(至少我在firebug中看到的)。

4 个答案:

答案 0 :(得分:4)

在Sass中,您可以通过了解nesting的工作原理来控制“特异性膨胀”。如果你不想要的话,你根本不需要做任何嵌套 - 这是你可以控制的。

使用新的@extend directive,您可以通过应用OOCSS的原则实际减少 CSS中的冗余,从而提高性能。这是get you started with @extend的好文章。还有一些OOCSS资源:

@extend在Sass中的巨大优势在于它需要手动工作才能应用OOCSS,并使其非常轻松和轻松。

最后,正如Andrea指出的那样,Sass有很多缩小CSS的选项(参见:compressed style),所以总的来说你实际上有一个非常强大的工具包,不仅可以提高你作为开发人员的性能,而且还提高了CSS的性能。有关此实例的示例,请参阅#{3}}的作者和Sass的核心撰稿人,Compass如何从125行代码到85行代码(减少32%)的Chris Eppstein。< / p>

答案 1 :(得分:2)

你会感到惊讶,但是重复编码的CSS文件不应该比选择器较短的文件大得多。

这要归功于压缩算法如何处理文件中的重复字符串。它不是包含两次相同的字符串,而是使用对第一个字符串的引用替换第二个字符串,因此该字符串仅出现在压缩文件中一次。看一下生成的CSS文件中选择器的重复性 - 这应该使它们压缩得相当好。

当然,关键是要确保你的CSS文件被gzip压缩 - 让它们解压缩肯定会增加文件大小。

答案 2 :(得分:1)

根据options,SASS可以提供​​不同风格的输出。对于生产,您需要将输出样式设置为“紧凑”。

答案 3 :(得分:0)

有一个用于sass的firebug插件,可以使事情更容易阅读。你无论如何都不需要直接读取输出。

Sass,less和xCSS会产生更多输出,但我不会称之为膨胀。

手写CSS,随着开发人员在代码生命周期中将名称空间叠加在其他人之上,许多冗余和重复将迅速降级。维护不善,设计或编写的软件的一个症状是膨胀。而且因为CSS从一开始就存在一些设计缺陷,即使最好的CSS编码器也会受到这种限制的影响。

因此,您需要权衡格式良好的sass / less文件的初始占用空间与已编辑几次的手写CSS文件。

sass的另一个好处是你的HTML变得更瘦了。您不需要在整个代码中附加类名来弥补CSS的扁平全局结构。