Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过smacss方法构建所有项目样式?_Css_Smacss - Fatal编程技术网

如何通过smacss方法构建所有项目样式?

如何通过smacss方法构建所有项目样式?,css,smacss,Css,Smacss,我非常喜欢smass.com/book/categoring提供的模块化架构。但在实际项目中,我偶然发现了一个简单的例子(正如我所想的) 好的,我得到了: 1) 我通过SMACS为我的css文件创建了一个文件夹结构: 基地 布局 模块 陈述 主题 2) 在文件夹模块中,我创建了一个带有基本模式窗口样式的文件,如下所示: 基地 布局 模块/modal/modal.css 陈述 主题 3) 但我有几种常用样式的模态窗口(我在modal.css中分离了它们——颜色、边框、位置等),但它们有自己的参数。

我非常喜欢smass.com/book/categoring提供的模块化架构。但在实际项目中,我偶然发现了一个简单的例子(正如我所想的)

好的,我得到了: 1) 我通过SMACS为我的css文件创建了一个文件夹结构:

基地

布局

模块

陈述

主题

2) 在文件夹模块中,我创建了一个带有基本模式窗口样式的文件,如下所示:

基地

布局

模块/modal/modal.css

陈述

主题

3) 但我有几种常用样式的模态窗口(我在modal.css中分离了它们——颜色、边框、位置等),但它们有自己的参数。第一个窗口非常简单,有两个按钮,第二个窗口有很多不同的内容

问题是:这两个窗口的样式应该放在哪里? a) 将它们作为模块创建文件夹:

模块/modal/modal.css

模块/confirm/confirm.css

模块/product/product.css

b) 或者为每个css文件创建并将它们放在基本文件夹中

Base/confirm.css

Base/product.css

模块/modal/modal.css


我很乐意得到任何建议。谢谢

使用SMACC的主要原因是组织CSS文件,因此,有很多方法完全取决于您的项目

根据作者的说法,只要你记住SMACS的概念,你就可以随心所欲地修改你的项目。因此,我建议您在阅读代码时,查看一下您的项目,检查文件夹和文件,然后做任何对您更有意义的事情,不仅对您有意义,而且对团队中或将来的其他开发人员也有意义

您只需记住两个主要目标:

使用元素选择器将基本规则应用于元素 子代选择器或子选择器,以及任何 伪类。它不包括任何类或ID选择器。它是 定义该元素在所有视图中的默认样式 页面上的事件

模块是页面中更为离散的组件。这是 这一页的主要内容。模块位于布局组件内部。模块可以 有时也坐在其他模块内。每个模块都应该是 设计为作为独立组件存在

因此,有了这个明确的定义,您现在知道,如果您的规则应该是独立的,那么将它们放在模块下,但是,如果它们将作为元素的默认值工作,那么将它们放在基础下。相比之下,对我来说,产品或模态都可以是模块,它们不是基本的,因为基本的元素规则是默认的,就像我在上面说的那样

我只是担心你已经写了确认,这看起来像一个州规则,我想它可以放在州文件夹下

状态是一种扩展和覆盖所有其他样式的东西。对于 例如,手风琴部分可能处于折叠或展开状态。 消息可能处于成功或错误状态


我强烈推荐你,再多看一次SMACC的书或网站,看看Youtube上的Jonathan Snook研讨会。这将帮助你了解更多,做出更好的决定

使用SMACC的主要原因是组织CSS文件,因此,有很多方法完全取决于您的项目

根据作者的说法,只要你记住SMACS的概念,你就可以随心所欲地修改你的项目。因此,我建议您在阅读代码时,查看一下您的项目,检查文件夹和文件,然后做任何对您更有意义的事情,不仅对您有意义,而且对团队中或将来的其他开发人员也有意义

您只需记住两个主要目标:

使用元素选择器将基本规则应用于元素 子代选择器或子选择器,以及任何 伪类。它不包括任何类或ID选择器。它是 定义该元素在所有视图中的默认样式 页面上的事件

模块是页面中更为离散的组件。这是 这一页的主要内容。模块位于布局组件内部。模块可以 有时也坐在其他模块内。每个模块都应该是 设计为作为独立组件存在

因此,有了这个明确的定义,您现在知道,如果您的规则应该是独立的,那么将它们放在模块下,但是,如果它们将作为元素的默认值工作,那么将它们放在基础下。相比之下,对我来说,产品或模态都可以是模块,它们不是基本的,因为基本的元素规则是默认的,就像我在上面说的那样

我只是担心你已经写了确认,这看起来像一个州规则,我想它可以放在州文件夹下

状态是一种扩展和覆盖所有其他样式的东西。对于 例如,手风琴部分可能处于折叠或展开状态。 消息可能处于成功或错误状态

我强烈推荐你,再多看一次SMACC的书或网站,看看Youtube上的Jonathan Snook研讨会。这将帮助你了解更多,做出更好的决定