2012-08-14 20 views
2

現在我用Ruby on Rails建立一個新網站。隨着網站變得越來越大,我的CSS規則變得混亂。所以我想一種方法來提高我的css代碼的可讀性和避免錯誤:每個頁面都有獨特的css文件(使用全局文件)是一個好習慣?

我有一個全局css.scss(SASS,類似於LESS)文件,用於重置和處理全局元素(如頁眉和頁腳)的所有頁面。 對於每隔一頁我有一個專用的css文件。例如,對於about page,我有一個about.css.scss文件。在about_page.css.scss文件的代碼看起來像:

.about_page { 
    .othersubclass { 
    . 
    . 
    } 
} 

而在「about.erb頁面我有以下幾點:

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

這是一個好的或壞的技術?有沒有已知的技術可以解決這個問題?

(順便說一句回報率串接所有的CSS文件到1個文件從而有額外的http請求沒有問題)

+0

你需要提供更多關於你的網站如何工作的細節。否則,這是一個非常普遍的問題,導致沒有真正的答案。一個simillair一個在這裏:http://stackoverflow.com/questions/5425857/one-stylesheet-per-page和那裏http://stackoverflow.com/questions/2336302/single-huge-css-file-vs-multiple -smaller-specific-css-files – 2012-08-14 22:01:26

回答

2

按:http://betterfrontend.com/guides/stylesheets/

它通常建議讓每個網站的主要部分樣式表。

然後,您可以在application.css.scss(所有@ import在此處)內編譯它。

+0

不錯的項目(betterfrontend)!會漫步在身邊:) – 2012-09-13 20:32:21

0

將一個獨特的CSS class/id添加到網站上每個頁面的根元素上是完全不錯的(實際上很多CMS都是這樣做的),但聽起來像是矯枉過正,爲每個頁面創建一個單獨的CSS文件,通常在那裏不是很多頁面特定的CSS。

由於您提到您的構建過程將所有CSS連接成單個文件,因此在生產環境中無關緊要,並且只是代碼組織的問題。如果它適合你的項目體系結構(你有其他資源的每個頁面的分離),那麼我認爲它是可以的,但親自它會採用更粗粒度的分割,例如Daniel Fischer所建議的。

想一想,如果在你的情況下維護很多(幾十?幾百?)小css文件(每行0-50行?)很方便。

相關問題