2015-02-17 72 views
9

现在很少有任何项目不使用任何类型的CSS预处理器,如Sass或LESS。虽然它已被广泛接受并且优势非常明显(如更多结构化代码,但性能不会下降等等)。 我徘徊,如果有任何huge的缺点。我可以马上想到的是过大的嵌套选择器,在重新绘制/回流期间可能表现不佳。任何其他原因为什么not使用预处理器?使用CSS预处理器(例如Sass,LESS)有什么优势/缺点

+0

唯一的缺点是如果你不注意,你可以编写非常小的精简SCSS代码,这可以导致BIG CSS文件。但是,为了获得所有的好处,这是一个很小的代价。 CSS可以在HTTP响应中被压缩,并且会被代理和浏览器缓存,所以这不是问题。 – GolezTrol 2015-02-17 20:46:31

+0

嵌套选择器(深层次)的风险是您的CSS仅适用于特定的HTML结构。您的HTML更改会破坏您的样式。请注意,嵌套的LESS/SASS编译成无脚本的CSS。您可以使用像BEM这样的方法来更好地组织您Less/SASS/CSS – 2015-02-17 23:10:24

+0

我写下了关于这些缺点的所有信息:http://adamsilver.io/articles/the-disadvantages-of-css-preprocessors/ – 2015-07-09 11:34:26

回答

11

你可以用预处理器找到的一件事是,由于嵌套,你最终会得到大量的css输出。在一个小型项目中,很容易控制,在一个有多个开发人员的大型项目中,需要遵守纪律以保持控制的css数量。

+0

。最近制作了一个选择器,可以从几乎没有SCSS创建187个字符的多选器。它看起来很简单,在SCSS中很容易遵循,但它几乎不像常规CSS那样可行。 SCSS非常适合组织,但你一定要看你的CSS输出。 – Scott 2015-02-17 20:49:58

+1

@Jaxo可维护性不是问题(你可以维护SCSS文件),但它不必要的大。只是'#sidebar-automatic.automatic-locked'可能已经足够了。但是,从这个答案我+1。它需要实践和纪律才能正确使用它。只在需要时才使用嵌套,也就是说,您希望能够嵌套您的纯CSS文件。 – GolezTrol 2015-02-17 20:51:06

+0

我正在浏览我的样式表以寻找更大的样式表,我想我发现它:'input [list] :: - webkit-input-placeholder:after,select [list] :: - webkit-input-placeholder: after,button [list] :: - webkit-input-placeholder:after,textarea [list] :: - webkit-input-placeholder:after' ...不幸的是,这是一个无法清理得太多那。 – Scott 2015-02-17 20:53:51

相关问题