为每个页面提供唯一的css文件(也使用全局文件)是一种好的做法吗?

为每个页面提供唯一的css文件(也使用全局文件)是一种好的做法吗?,css,file,sass,readability,Css,File,Sass,Readability,此时,我使用RubyonRails构建了一个新网站。随着网站越来越大,我的css规则变得越来越混乱。因此,我想到了一种提高css代码可读性和避免错误的方法: 我有一个全局css.scss(SASS,类似于LESS)文件,用于所有重置和处理全局元素(如页眉和页脚)的页面。 对于其他每一页,我都有一个专用的css文件。例如,对于about页面,我有一个about.css.scss文件。在about_page.css.scss文件中,代码如下所示: .about_page { .othersubc

此时,我使用RubyonRails构建了一个新网站。随着网站越来越大,我的css规则变得越来越混乱。因此,我想到了一种提高css代码可读性和避免错误的方法:

我有一个全局css.scss(SASS,类似于LESS)文件,用于所有重置和处理全局元素(如页眉和页脚)的页面。 对于其他每一页,我都有一个专用的css文件。例如,对于about页面,我有一个about.css.scss文件。在about_page.css.scss文件中,代码如下所示:

.about_page {
  .othersubclass {
    .
    .
  }
}
在“about.erb”页面中,我有以下内容:

<div class="about_page">
  <div class="othersubclass">
    .
    .
    .
  </div>
</div>

.
.
.
这是好的还是坏的技术?有没有已知的技术可以解决这个问题

(顺便说一句,RoR将所有css文件连接到一个文件中,因此额外的http请求没有问题)

根据:

通常建议在站点的每个主要部分都有一个样式表


然后,您可以在application.css.scss(所有的@import都在这里)中编译所有内容。

在您的网站上的每个页面的根元素中添加一个唯一的css类/id是非常好的(事实上许多CMS都这样做),但是为每个页面创建一个单独的css文件听起来有些过分,通常没有很多特定于页面的css

因为您提到构建过程将所有CSS连接到一个文件中,所以在生产环境中这并不重要,只是代码组织的问题。如果它适合您的项目体系结构(您有其他资源的每页分离),那么我想这是可以的,但就个人而言,它会使用更粗粒度的划分,例如Daniel Fischer建议的那样


试想一下,在您的情况下,维护许多(几十行?数百行?)小css文件(每个文件0-50行?)是否方便。

您需要提供更多有关站点工作方式的详细信息。否则,这是一个非常普通的问题,导致没有真正的答案。这里有一个类似的项目:还有一个不错的项目(betterfrontend)!将四处游荡:)