【问题标题】:Folder structure of a SMACSS project – Where to put class? [closed]SMACSS 项目的文件夹结构——类放在哪里? [关闭]
【发布时间】:2014-12-27 17:59:52
【问题描述】:
我在编写 CSS 时开始遵循 SMACSS 原则。这本书读了两遍,我认为我对理论有了很好的把握,但现在我在将其应用于实际工作时遇到了一些问题。
在我的基本文件夹中,我有 normalize.css 和自定义 CSS 重置,对于某些部分覆盖,对于其他部分扩展 normalize。
现在我创建了一个从列表中删除所有填充和列表样式的类。所以这个类依赖于之前定义的样式,但对我来说既不是状态也不是模块。
我在哪里放这样的课?
【问题讨论】:
标签:
css
sass
methodology
smacss
【解决方案1】:
正如 Evgeniy 所说,这应该在 base 中,以防您想将其用作默认值。
但另一个问题是:如果您不通过 bower、npm 或 git 获取 normalize.css,您最好修改那里的 css 以适应您的样式,而不是稍后覆盖规则。这可以节省您的文件大小,同时保持较低的特异性和可控性。
如果您使用包管理器获取它,仍然有一些像 uncss 这样的后处理器可以在后处理步骤中删除重复的规则。配置起来可能有点棘手,但效果很好,可以节省很多字节。
【解决方案2】:
如果此修改应作为所有列表的默认设置(如重置) - 您需要将其放入 BASE。
如果这个修改只是针对一些特殊页面,那么使用THEME。
在其他情况下,它应该放在MODULE 中,作为.m-list 之类的基类或.m-list-plain 的子类