是否存在最佳的 scss 嵌套规则?

Boj*_*ano 2 css nested structure sass

好吧,我正在一家公司实习,我遇到了一个问题。有些人告诉我,今天,嵌套 5、6、10 次不再是问题,因为我们拥有快速的计算机……其他人告诉我最多嵌套 3-4 次。但有些人告诉我这并不重要。当我在谷歌上搜索时,我再次发现了许多不同的意见。有人说是一,有人说是别的……你们怎么看?我觉得很奇怪,根本不重要。这个问题一定有一个正确的答案。

Jak*_*ake 6

The Sass Way 上有一篇很棒的文章,解释了他们所谓的“初始规则”,即:don\xe2\x80\x99t 深度不要超过四层。Chris COYIER 在他的Sass 风格指南中建议最多 3 个级别。Hugo Giraudel 给出了另一种解释,解释了为什么在Sitepoint中应该保持选择器简短。

\n\n

嵌套或过度嵌套与强大或快速的计算机无关,而是与过度特异性有关(以及与编译的 CSS 文件大小有关)。如果你过度嵌套,你最终会陷入“CSS 选择器噩梦”。

\n\n
\n

前端工程师之间所谓的噩梦是,当样式臃肿并与 DOM 紧密耦合时,修改任何有关结构的内容最终都会破坏前端。

\n
\n\n

所以基本上,没有每个人都严格遵循的黄金法则,更多的是常识,而不是过度嵌套以及某些特定情况。

\n

  • 还要在此处添加嵌套,如 `.level1 { .level2 { .level3 { [...] .levelN{}}}}` 与普通 css `.level1 .level2 .level3 [...] 相同。 levelN` 并且很难覆盖 `.levelN` 上的某些内容。你太具体了。如果你使用 `.level1 { &__level2 { &_level3 {}}}` 问题会更少,但仍然有更好的方法来分割 css/scss,如 BEM、OOCSS 或 SMACSS (2认同)
  • @BojanKolano - 它被否决了,因为它正在征求意见,因此与堆栈溢出无关。您已经找到了争论双方的观点,没有理由相信这里的答案除了支持一种观点或另一种观点之外还有其他作用。 (2认同)