国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

提高CSS文件可維護性的五種方法

2024-07-11 08:21:05
字體:
供稿:網(wǎng)友

參考: smashing magzine

翻譯+整理: demix

當完成一項前端的工作之后,許多人都會忘記該項目的結(jié)構(gòu)與細節(jié)。然而代碼并不是馬上就能完全定型,在余下的時間里還有不斷的維護工作,而這些工作也許不會是你自己完成。所以,結(jié)構(gòu)優(yōu)良的代碼能很大程度上優(yōu)化它的可維護性。下面列出五種提高css文件可維護性的方法,也就是一種較好的css樣式指南。

1.分解你的樣式

對于小項目,在寫代碼之前,按頁面結(jié)構(gòu)或頁面內(nèi)容將代碼分為幾塊并給予注釋。例如,可以分別將 全局樣式、布局、字體樣式、表單、評論和其他分為幾個不同的塊來繼續(xù)工作。

而對于較大的工程,這樣顯然不會有什么效果。此時,就需要將樣式分解到幾個不同的樣式表文件。下面的master stylesheet 就是這一方法的例子,它的工作主要是導(dǎo)入其他樣式文件。使用這一方法不僅能優(yōu)化樣式結(jié)構(gòu),而且有利于減少一些不必要的服務(wù)器請求。而分解文件的方法就有許多種,master stylesheet 使用了最常見的一種。

/*------------------------------------------------------------------

[master stylesheet]
project:       smashing magazine
version:       1.1
last change:       05/02/08 [fixed float bug, vf]
assigned to:       vitaly friedman (vf), sven lennartz (sl)
primary use:       magazine
-------------------------------------------------------------------*/
@import "reset.css";
@import "layout.css";
@import "colors.css";
@import "typography.css";
@import "flash.css";
/* @import "debugging.css"; */

同時對于大型項目,你也可以加上css文件的升級標志或者一些診斷措施,這里不再詳述。

2.建立css文件索引

為了能夠迅速的了解整個css文件的結(jié)構(gòu),在文件開頭建立文件索引是一個不錯的選擇。一種可行的方法是建立樹形的索引:結(jié)構(gòu)上的id 和 class 都可以成為該樹的一個分支。如下:

/*------------------------------------------------------------------
[layout]
* body
      + header / #header
      + content / #content
            - left column / #leftcolumn
            - right column / #rightcolumn
            - sidebar / #sidebar
            - rss / #rss
            - search / #search
            - boxes / .box
            - sideblog / #sideblog
      + footer / #footer
navigation         #navbar
advertisements         .ads
content header         h2
——————————————————————-*/

或者也可以這樣:

/*------------------------------------------------------------------

[table of contents]
1. body
      2. header / #header
            2.1. navigation / #navbar
      3. content / #content
            3.1. left column / #leftcolumn
            3.2. right column / #rightcolumn
            3.3. sidebar / #sidebar
                  3.3.1. rss / #rss
                  3.3.2. search / #search
                  3.3.3. boxes / .box
                  3.3.4. sideblog / #sideblog
                  3.3.5. advertisements / .ads
      4. footer / #footer

-------------------------------------------------------------------*/

另一種方式可以只是先簡單的將內(nèi)容列舉出來,也不需要縮進。下面的一個例子中,如果你需要跳至rss部分你只需要簡單的搜索 8.rss。

/*------------------------------------------------------------------

[table of contents]
1. body
2. header / #header
3. navigation / #navbar
4. content / #content
5. left column / #leftcolumn
6. right column / #rightcolumn
7. sidebar / #sidebar
8. rss / #rss
9. search / #search
10. boxes / .box
11. sideblog / #sideblog
12. advertisements / .ads
13. footer / #footer

-------------------------------------------------------------------*/

<!-- some css-code -->

/*------------------------------------------------------------------
[8. rss / #rss]
*/
#rss { ... }
#rss img { ... }

定義這樣一個樣式檢索可以很有效的使其他人閱讀學(xué)習(xí)你的代碼變得容易。在制作大項目的時候,你也可以將檢索打印出來從而在你閱讀代碼的時候方便查閱。

|||

3.定義你的顏色和版式

css 中我們無法使用常量,但是在編寫顏色和版式方面的代碼是我們會經(jīng)常遇到可以使用很多次的類,在這里可以將之視為css 的常量。

一種可以減小css無常量定義確定的方法是在css文件頂部的注釋中下一些定義,也就是定義常量。一種最簡單的應(yīng)用就是創(chuàng)建一個顏色表。這樣你就可以快速的了解整個頁面的色彩,從而避免一些反復(fù)修改過程中的錯誤。如果你需要對顏色進行修改,你也可以很快找到它。

/*------------------------------------------------------------------
# [color codes]

# dark grey (text): #333333
# dark blue (headings, links) #000066
# mid blue (header) #333399
# light blue (top navigation) #ccccff
# mid grey: #666666
# */

或者,你也可以選擇描述你布局當中使用的顏色。對于一個給定的顏色,你可以將用到該顏色的塊羅列出來。當然,你也可以選擇按頁面元素來羅列顏色。

/*------------------------------------------------------------------

[color codes]

background:       #ffffff (white)
content:       #1e1e1e (light black)
header h1:       #9caa3b (green)
header h2:       #ee4117 (red)
footer:              #b5cede (dark black)

a (standard):       #0040b6 (dark blue)
a (visited):       #5999de (light blue)
a (active):       #cc0000 (pink)

-------------------------------------------------------------------*/

對于版式有同樣的例子。

/*------------------------------------------------------------------
[typography]

body copy:              1.2em/1.6em verdana, helvetica, arial, geneva, sans-serif;
headers:              2.7em/1.3em helvetica, arial, "lucida sans unicode", verdana, sans-serif;
input, textarea:       1.1em helvetica, verdana, geneva, arial, sans-serif;
sidebar heading:       1.5em helvetica, trebuchet ms, arial, sans-serif;

notes:       decreasing heading by 0.4em with every subsequent heading level
-------------------------------------------------------------------*/

4.格式化css屬性

當我們編寫代碼的時候,使用一些特殊的編碼風格會對提高css代碼的可讀性有很大幫助。許多人都有各自不同的編碼風格。一部分人習(xí)慣于將顏色和字體的代碼放在前面,另外一部分則更喜歡將類似浮動和定位的更“重要”的屬性放在前面。類似的,也可以將頁面元素按照它在布局中的結(jié)構(gòu)進行排序:

    body,
          h1, h2, h3,
          p, ul, li,
          form {
                  border: 0;
                  margin: 0;
                  padding: 0;
           }

一些開發(fā)者用一種更為有意思的方法:他們將屬性按首字母的順序排列。值得注意的是,這樣一種方法可能對某些瀏覽器會產(chǎn)生問題。

不管自己的格式如何,你要確保你已經(jīng)清晰的定義了這些格式方法。這樣,你的同事在閱讀你的代碼的時候?qū)兄x你的努力。

5.縮進會是你的朋友!

為了讓你的代碼給人感覺更為直觀,你可以使用一行來定義大綱元素的樣式。當指定的選擇器里的屬性超過三個的時候,這種方式將帶來混亂。但是,適度的使用這種方式,你可以很清楚的區(qū)分相同類的不同點。

#main-column { display: inline; float: left; width: 30em; }
                    #main-column h1 { font-family: georgia, "times new roman", times, serif; margin-bottom: 20px; }
                    #main-column p { color: #333; }

同時,樣式修改的維護也是個比較麻煩的問題。很多人修改樣式之后就忘記了,結(jié)果后來又發(fā)現(xiàn)修改的樣式導(dǎo)致了頁面出錯,不得不苦苦尋找。因此,為修改的樣式構(gòu)建一個特殊的格式就很必要了。一種很簡單的方式是,給修改過的樣式縮進,同時,也可以使用一些注釋(比如"@new")來做一個標識。

#sidebar ul li a {
       display: block;
       background-color: #ccc;
            border-bottom: 1px solid #999; /* @new */
       margin: 3px 0 3px 0;
            padding: 3px; /* @new */
}

總的來說,只有建立一個合適的樣式指南才會對樣式表的可讀性有所幫助。記住,移去每一個對你理解文件沒有幫助的樣式指南,避免對過多的元素使用過多的樣式指南。然后,為了一個可讀性可維護性良好的css文件而努力吧。

點擊這里觀看本站的 網(wǎng)頁制作教程 頻道內(nèi)容.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 固原市| 许昌县| 喜德县| 石棉县| 潼南县| 宜春市| 瑞昌市| 琼海市| 常熟市| 彭泽县| 应城市| 宁强县| 和龙市| 莱州市| 临夏县| 淮安市| 定陶县| 浦县| 九龙城区| 镇江市| 水城县| 上蔡县| 长岛县| 星座| 武功县| 中江县| 安溪县| 盘山县| 大英县| 米林县| 东海县| 兴宁市| 隆林| 延川县| 汽车| 城步| 保德县| 深水埗区| 双流县| 丹阳市| 庆城县|