2008-09-16 82 views

回答

57

爲一個大文件的CSS規則我將組織它以這種方式

  1. 提供第一
  2. 提供任何普通/通用規則(例如對任何復位CSS規則{顏色:#553423;}下一個
  3. 除以頁面
  4. 的部分剩餘文件把每個規則上一個符合一般規律,然後更具體的規則
  5. 按字母順序排列選擇每個規則

例如:

/***** 
/* ~masthead 
/***** 

#masthead {background-color: #cc00ff; color: #fff; width: 950px; } 
#masthead h1 { background: transparent url(logo.png) no-repeat; text-indent: -9000px; width: 200px; } 

/***** 
/* ~content 
/***** 

#content { background-color: #fedefd; margin:0; width: 357px; } 
#content h1 { font-size: 120%; font-weight: bold; margin: 50px 20px 50px 70px; } 
#content p em { color: magenta; } 

這樣你就可以

  1. 容易地搜索段(搜索〜桅頂,你是在部分的頂部)
  2. 輕鬆地掃描所有規則的部分在一次,以確定如果事情被覆蓋或不
  3. 容易調整R甚至排長隊。字母排序選擇器確保「顏色」不會以相同的規則出現兩次
+13

我喜歡這個,但我討厭把它全部放在一行上。當有兩條以上的規則時,我把每條規則放在一個新的行上,除了top:和bottom :,和left:和right:定位時。 此外,我不按字母順序組織它們,但效果。首先定位,然後是大小,然後是填充/邊距,然後是顏色,然後是其他所有內容。 – 2010-09-09 09:38:11

+3

我甚至會將重置和通用規則分開,並將它們放在不同的文件中。 – meo 2010-09-09 09:41:34

+1

@meo:但你不應該。文件越少越好。這減少了HTTP請求,從而提高了性能。 – NikiC 2010-10-21 17:20:11

3

通常我會嘗試將通用規則放到特定位置。例如,文檔的開始可能有body,div,h1等規則。之後,我將進入具體的課程規則。最後按照id的規則。

我也看到人們通過他們的使用組合在一起。例如,如果你的頁面有一個表;您可以將所有規則分組,以將表格,單元格,數據樣式化在一起。可能在css文件中添加一些註釋以解釋每個部分的用途,以便稍後查找。

3

我發現基於ID或類選擇是改變不那麼脆弱,更容易維護比我基於位置的人。然後,我們將規則分割成網站(全局)和應用程序規則。在每個文件中,我們按字母順序組織事情,從最不具體到最具體(按照css規範)。我們不會最小化或以其他方式減少我們規則的可讀性,並且將它們評論爲代碼。當我重構一個HTML頁面時,我所做的第一件事是從內容中剝離樣式,並將其移至css文件中。我知道這個可能很明顯。

/艾倫

0

我用幾種技術:

  • 集團通過#ID /類
  • 評論主要模塊,使用下劃線,便於搜索(/ * _IDName/*)
  • 使用CSS速記有助於減小文件大小,使其更易於管理。

有,我用在網上一些好的文章。我會再試一次。

0

對於真正的大的部分,這也是不錯的了破片成較小的邏輯塊,每獲得自己的表和鏈接標籤。這樣,當您需要調整導航欄樣式的一小部分以支持新穎的按鈕時,其餘大部分樣式都是沒有更改的表單,因此仍會緩存在用戶計算機上。

0

基於在網頁上的規則出現我通常會打破主css文件成部分 - 所以會有的網頁標題導航欄(S)一節,另一個,等等。

我也爲打印介質打出一個單獨的文件。

一樣的程序文件,我使用的註釋塊指示哪些規則是在下面的章節。

我不相信有在比單個大文件雖然有幾個小文件顯著的性能優勢。

2

從顏色和文體規則中分離佈局規則。

0

我喜歡將css存儲在包含站點靜態內容的Content文件夾中。 然後,我通常嘗試每個「業務上下文」有一個CSS文件。所以如果我有一個網站部分的用戶註冊了貿易展覽會,url可能是「[host]/shows /」,我的css文件將是「[host] /content/styles/shows.css」。 如果事情變得更加複雜,「顯示」變得太大,我可能會創建一個「content/shared /」文件夾和一個「content/shows /」以匹配「shows」的子域名。使用Resharper或「查找&替換」重命名問題變得微不足道。

35

我4個提示:

進一步組織你的CSS縮進子項比其他人:

#main_side { 
    width: 392px; 
    padding: 0; 
    float: right; } 

    #main_side #featured_articles { 
     background: #fff; } 

    #main_side #frontpageads { 
     background: #fff; 
     margin: 8px 0; } 

使用速記:

margin:5px 0 4px 10px; 

將你的樣式表成具體部分:

全局樣式 - (身體,段落,列表等),標題,頁面結構,標題,文本樣式,導航,表單,註釋,附加

可選:使用壓縮機擠壓你的代碼放到一個較小的文件大小。

+5

+1用於壓縮機。所有這些換行符,製表符和空格都是多餘的。儘管爲了編輯的目的保留原文,否則你會討厭自己。 ;) – Kriem 2009-06-06 12:10:31

0

將頂部的目錄分成多個部分和小節。按字母順序排列。

0
  • 我做一個默認的文件爲一些默認的規則(適用於大多數的子頁面)
  • 每個子頁有它自己的CSS樣式表(如果它需要)
  • 我用速記(背景:#FFF url(../ images/header_1.jpg)0 0 repeat-x;)
  • 類如果我有多於一個給定類的元素(如果有一個元素 - 使用id)
  • 避免重複,如果你可以繼承 - 做到這一點
14

最有效的CSS使用涉及到重用類的重要性。雖然根據頁面上顯示的位置將班級和ID分組很容易,但當您開始適當地重新使用最終出現在多個區域的班級時,此方法會很快崩潰。

另外,你應該避免命名其外觀後你的CSS類,如h1.blue或tr.55。以這種方式命名CSS類完全違背了使用CSS的目的。請記住,有一天您可能想要將所有藍色的內容更改爲紅色。如果您將類名稱爲.blue和.red,則必須觸摸標記才能完成您的任務。但是,如果您命名類.moduleHeader或類似名稱,則可以在不觸及標記的情況下更改css文件中這些模塊標頭的顏色。

有顯著再使用類精心打造的CSS文件是最好的類按字母順序排列。這種方法總是有組織的,並且對每個在你的項目中工作的人都有意義。

我喜歡按字母順序組織我班一個大塊,然後有另一塊爲我的ID的字母順序排列。

根據場地的大小,它可以把結構單元合併成一個文件,並在另一個css文件「風格」元素(顏色,字體選擇等)是一個好主意。這使得您只需使用結構元素即可擁有完美可用的網站,並且還允許您僅通過觸摸或更換「文體」CSS表格來「重新設計」網站。

在實踐中,我更喜歡有兩個「漂亮」的事情,該結構中的一個較大的CSS表,因爲它很煩人的生產環境兩者之間切換。但是,根據您的團隊的結構,在另一種安排中可能對您更好。

在一個類或id聲明中,我也按字母順序組織我的屬性。我嘗試了其他組織結構,但是沒有經過培訓的似乎只爲其他人工作的是按字母順序排列的。

3

使用CleverCSS,這是一種小型標記語言,可以省去編寫和組織CSS的麻煩。

1

我將所有樣式直接應用於樣式表最頂部的標籤。以下是任何一般的CSS類。

之後是主要結構,通常是全球性的。一般來說,我覺得它更容易不斷地繼承人例如選擇:

#container { width: 600px; ... } 
#container #header { .... } 
#container #header h1 { font-size: massive; } 

#container .column [ .. } 
#container #left-column {.. } 
#container #left-column #content { ... } 

這具有提供一種壓痕的好處,你可以很容易看到從CSS中的頁面結構。有時你必須重新命名你的風格規則是頁面結構的變化,但這不是什麼大不了的事。當所有規則都在同一行上時,此風格效果最佳。

當我涉及到樣式表的內容部分時,我稍微改變了一些東西,並立即下降到我的內容div。

#content h2 { ... } 
#content h3 { ... } 
#content ol, 
#content ul, 
#content dl { ... } 

最後,我結束了特定頁面的樣式規則。我發現最有意義的是給男孩一個基於文件名或URI的身份標識,身體是文件當前目錄的一個類。這使得將主CSS中的樣式規則定位到特定頁面或頁面組(如果需要)非常容易。 (顯然你應該考慮包括一個新的樣式表)。

在我的樣式規則聲明中,我遵守所有規則的順序,從顯示屬性,位置,大小,邊距,邊框,填充,背景,顏色,文本屬性,行屬性,字屬性等字體屬性。從概念上講,從外部開始(你可以爭辯說,字體屬於文本屬性之上,只要你是一致的,那就是重要的)。

因爲我必須記住它們(頂部,右側,底部,左側),所以我使用框(e.x. margin和border)的縮寫。我避免使用簡寫背景和字體,因爲它們有點難以記住。

例如:

.rule { 
    display: block; visibility; visible; 
    position: relative; float: left; z-index: 1; top: 3px; left: 10em; 
    width: 100px; height 30px; overflow: hidden; 
    margin: 1px 3px 5px 1px; border:3px dotted #ff0; padding: 5px; 
    background-color: #f0f; background-image: url(/foo/bar); color: #000; 
    text-align: left; text-decoration: none; line-height: 3px; word-spacing: 2px; letter-spacing: 1px; 
    font-family: sans-serif; font-weight: bold; } 
0

我同意大部分內容已經張貼在這裏。我還發現,將設計和風格分開最終會讓人感到痛苦,而不是幫助,儘管理論上聽起來不錯。我確實喜歡將我的css分成多個文件。我通常對我的網站的主要設計元素有一個主要的css,然後是一些較小的文件,通常是層次結構,因爲我需要更多專門的設計元素。與此相關的一個問題是,很難知道哪個css文件包含我感興趣的樣式元素,但是我使用Aptana來組織我的項目,該項目具有搜索工具。此外,Firebug可以幫助解決這個問題。

我也發現我更喜歡保持我的CSS規則多或少自包含,而不是將它們分離成更小的規則,然後在類定義中將它們連接起來。例如,如果一個div的所有代碼都在一個或兩個規則中,而不是我可能需要搜索的許多規則中,我發現它更易於維護。這可能意味着有一些代碼重複和一個更大的CSS文件,但差異似乎並不大,我更喜歡可維護性。

3

我在twitter上通過@smashmag偶然發現了這個組織者,比我想像的更有效 - styleneat。com

一旦我完成並準備好交付,或者當我的樣式表變得太亂以至於無法處理時,我就會通過它運行我的CSS。

3

除了別人提到的所有提示,我傾向於將我的CSS分成多個文件。一個用於主導航的文件,一個用於頁腳,一個用於主排版,一個用於表單,一個用於頁面上每個不同的'對象'。

然後我創建了一個通用樣式表,其中包含所有這些文件。當我準備部署到生產環境時,一個小小的Ruby腳本將這些@import語句擴展爲單個文件,從而減少了所需的HTTP請求數。

根據我的經驗,這比在開發過程中將它全部保存在一個文件中要好得多。

另外,我儘量對評論我的CSS規則。我用多行註釋的規則的一般性描述,和單行註釋來說明單線路:

#some_object { 
    /* 
    * What, where, why, how... 
    */ 
    font-size: 1.2em; /* 12px */ 
} 

最後,我粗澀CSSEdit 組和壓痕相關規則結合起來:

/* @group My section title */ 
    #some_rule { 
     ... 
    } 
/* @end */ 
3

如果您將CSS分割爲單獨的文件並且有很多文件,請注意,Internet Explorer的CSS文件限制爲31個。它不會加載任何超出該限制的樣式。當然,如果你有很多文件,你正在爲你的web服務器創建額外的工作,並增加連接數量,這會減慢你的頁面加載速度(尤其是在資源管理器中),所以它更好在部署網站時將您的CSS組合成單個單一文件,即使您在開發期間將它們分開。

相關問題