提高CSS文件可維護(hù)、可讀性四大技巧
本文向大家描述一下CSS文件可維護(hù)、可讀性提高指南四則,主要包括CSS樣式文件分解,為CSS文件建立索引,格式化CSS屬性等內(nèi)容,相信本文介紹一定會(huì)讓你有所收獲。
CSS文件可維護(hù)、可讀性提高指南四則
在大多數(shù)文章中,我們并未特別注意CSS文件的可維護(hù)與可讀性的問(wèn)題,當(dāng)完成一項(xiàng)前端的工作之后,許多人都會(huì)忘記該項(xiàng)目的結(jié)構(gòu)與細(xì)節(jié)。然而代碼并不是馬上就能完全定型,在余下的時(shí)間里還有不斷的維護(hù)工作,而這些工作也許不會(huì)是你自己完成。所以,結(jié)構(gòu)優(yōu)良的代碼能很大程度上優(yōu)化它的可維護(hù)性。下面列出四則技巧提高CSS文件可維護(hù)性的方法,以此作為指南,以一種較好的CSS樣式組織習(xí)慣來(lái)進(jìn)行WEB前端開(kāi)發(fā)。
一、CSS樣式文件分解
對(duì)于小項(xiàng)目,在寫(xiě)代碼之前,按頁(yè)面結(jié)構(gòu)或頁(yè)面內(nèi)容將代碼分為幾塊并給予注釋。例如,可以分別將全局樣式、布局、字體樣式、表單、評(píng)論和其他分為幾個(gè)不同的塊來(lái)繼續(xù)工作。
而對(duì)于較大的工程,這樣顯然不會(huì)有什么效果。此時(shí),就需要將樣式分解到幾個(gè)不同的樣式表文件。下面的masterstylesheet就是這一方法的例子,它的工作主要是導(dǎo)入其他樣式文件。使用這一方法不僅能優(yōu)化樣式結(jié)構(gòu),而且有利于減少一些不必要的服務(wù)器請(qǐng)求。而分解文件的方法就有許多種,masterstylesheet使用了最常見(jiàn)的一種。
ExampleSourceCode
- @import"reset.css";
- @import"layout.css";
- @import"colors.css";
- @import"typography.css";
- @import"flash.css";
- /*@import"debugging.css";*/
同時(shí)對(duì)于大型項(xiàng)目,你也可以加上CSS文件的升級(jí)標(biāo)志或者一些診斷等其他措施,這里不再詳述。大家注意在實(shí)現(xiàn)工作中總結(jié)與思考,也歡迎多參考51cto.com的相關(guān)文章。
二、為CSS文件建立索引
為了能夠迅速的了解整個(gè)CSS文件的結(jié)構(gòu),在文件開(kāi)頭建立文件索引是一個(gè)不錯(cuò)的選擇。一種可行的方法是建立樹(shù)形的索引,結(jié)構(gòu)上的id和class都可以成為該樹(shù)的一個(gè)分支。
ExampleSourceCode
- [Layout]
- *body
- +Header/#header
- +Content/#content
- -Leftcolumn/#leftcolumn
- -Rightcolumn/#rightcolumn
- -Sidebar/#sidebar
- -RSS/#rss
- -Search/#search
- -Boxes/.box
- -Sideblog/#sideblog
- +Footer/#footer
- Navigation#navbar
- Advertisements.ads
- Contentheaderh2
或者也可以這樣:
ExampleSourceCode
[Contents]
- 1.Body
- 2.Header/#header
- 2.1.Navigation/#navbar
- 3.Content/#content
- 3.1.Leftcolumn/#leftcolumn
- 3.2.Rightcolumn/#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
為CSS文件建立索引的另一種方式可以只是先簡(jiǎn)單的將內(nèi)容列舉出來(lái),也不需要縮進(jìn)。下面的一個(gè)例子中,如果你需要跳至RSS部分你只需要簡(jiǎn)單的搜索。
ExampleSourceCode
[Contents]
- 1.Body
- 2.Header/#header
- 3.Navigation/#navbar
- 4.Content/#content
- 5.Leftcolumn/#leftcolumn
- 6.Rightcolumn/#rightcolumn
- 7.Sidebar/#sidebar
- 8.RSS/#rss
- 9.Search/#search
- 10.Boxes/.box
- 11.Sideblog/#sideblog
- 12.Advertisements/.ads
- 13.Footer/#footer
- /*--[8.RSS/#rss]--*/
- #rss{...}
- #rssimg{...}
定義這樣一個(gè)樣式檢索可以很有效的使其他人閱讀學(xué)習(xí)你的代碼變得容易。在制作大項(xiàng)目的時(shí)候,你也可以將檢索打印出來(lái)從而在你閱讀代碼的時(shí)候方便查閱。您還可以參考下面的文章。#p#
三、格式化CSS屬性
當(dāng)我們編寫(xiě)代碼的時(shí)候,使用一些特殊的編碼風(fēng)格會(huì)對(duì)提高CSS代碼的可讀性有很大幫助。許多人都有各自不同的編碼風(fēng)格。一部分人習(xí)慣于將顏色和字體的代碼放在前面,另外一部分則更喜歡將類(lèi)似浮動(dòng)和定位的更“重要”的屬性放在前面。類(lèi)似的,也可以將頁(yè)面元素按照它在布局中的結(jié)構(gòu)進(jìn)行排序:
ExampleSourceCode
- body,
- h1,h2,h3,
- p,ul,li,
- form{
- margin:0;
- padding:0;
- border:0;
- }
一些開(kāi)發(fā)者用一種更為有意思的方法:他們將屬性按首字母的順序排列。值得注意的是,這樣一種方法可能對(duì)某些瀏覽器會(huì)產(chǎn)生問(wèn)題。不管自己的格式如何,你要確保你已經(jīng)清晰的定義了這些格式方法。這樣,你的同事在閱讀你的代碼的時(shí)候?qū)?huì)感謝你的努力。您還可以參考下面的文章。
四、合理的利用縮進(jìn)
為了讓你的代碼給人感覺(jué)更為直觀,增強(qiáng)CSS文件的可讀性,你可以使用一行來(lái)定義大綱元素的樣式。當(dāng)指定的選擇器里的屬性超過(guò)三個(gè)的時(shí)候,這種方式將帶來(lái)混亂。但是,適度的使用這種方式,你可以很清楚的區(qū)分相同類(lèi)的不同點(diǎn)。
ExampleSourceCode
- #main-column{display:inline;float:left;width:300px;}
- #main-columnh1{margin-bottom:20px;}
- #main-columnp{color:#333;}
同時(shí),樣式修改的維護(hù)也是個(gè)比較麻煩的問(wèn)題。很多人修改樣式之后就忘記了,結(jié)果后來(lái)又發(fā)現(xiàn)修改的樣式導(dǎo)致了頁(yè)面出錯(cuò),不得不苦苦尋找。因此,為修改的樣式構(gòu)建一個(gè)特殊的格式就很必要了。一種很簡(jiǎn)單的方式是,給修改過(guò)的樣式縮進(jìn),同時(shí),也可以使用一些注釋?zhuān)ū热?@new")來(lái)做一個(gè)標(biāo)識(shí)。
ExampleSourceCode
- #sidebarullia{
- display:block;
- background-color:#ccc;
- border-bottom:1pxsolid#999;/*@new*/
- margin:3px03px0;
- padding:3px;/*@new*/
- }
總的來(lái)說(shuō),只有建立一個(gè)合適的樣式指南才會(huì)對(duì)樣式表的可讀性有所幫助。記住,移去每一個(gè)對(duì)你理解文件沒(méi)有幫助的樣式指南,避免對(duì)過(guò)多的元素使用過(guò)多的樣式指南。然后,為了一個(gè)可讀性可維護(hù)性良好的CSS文件而努力吧。不要忘記和52CSS.com分享您的經(jīng)驗(yàn),歡迎參與評(píng)論。
【編輯推薦】
- 學(xué)習(xí)筆記 在Flex中如何使用CSS文件
- CSS網(wǎng)頁(yè)布局中文字排版九大技巧
- CSS實(shí)戰(zhàn)經(jīng)驗(yàn):保持CSS文件整潔與樣式統(tǒng)一
- 實(shí)用但不被IE支持的十大CSS屬性
- CSS中id與class命名規(guī)則及編碼最佳習(xí)慣