RELATEED CONSULTING
相關咨詢
選擇下列産品馬上(shàng)在線溝通(tōng)
服務時(shí)間(jiān):9:00-18:00
你(nǐ)可(kě)能遇到了下面的問題
關閉右側工具欄
精簡CSS文件 使您的CSS網頁布局代碼更專業
  • 作(zuò)者:admin
  • 發表時(shí)間(jiān):2013-07-02 14:17:30
  • 來(lái)源:未知

衆所周之,在不影(yǐng)響整個(gè)網頁構架與功能的情況下,網頁文件越小(xiǎo)越好,因為(wèi)更小(xiǎo)的網頁文件有(yǒu)利于浏覽器(qì)對網頁的解釋時(shí)間(jiān)縮到更短(duǎn),自然訪客也就不用面臨等待網頁緩慢呈現的煩躁了,這一點對于那(nà)些(xiē)帶寬少(shǎo)網速慢的用戶猶為(wèi)明(míng)顯。盡管對于現如今的帶寬來(lái)說,網頁文件那(nà)僅以K來(lái)算(suàn)的大(dà)小(xiǎo)實在是微不足道(dào),但(dàn)如何将這以K來(lái)計(jì)算(suàn)的網頁文件精簡到最小(xiǎo)還(hái)是網頁設計(jì)師(shī)們所應該考慮的問題之一。試想一下,你(nǐ)會(huì)是希望打開(kāi)一個(gè)網站(zhàn)的時(shí)候整個(gè)站(zhàn)點馬上(shàng)呈現在你(nǐ)面前呢?還(hái)是喜歡花(huā)上(shàng)十幾秒(miǎo)甚至是幾分钏來(lái)看整個(gè)站(zhàn)點一點一點的被浏覽器(qì)解釋出來(lái)呢?   

在Table布局的時(shí)代,代碼無數(shù)次的随着表格在頁面裏重複,緻使整個(gè)網頁文件變得(de)臃腫無比,代碼的可(kě)讀性也降到最低(dī),浏覽器(qì)的解釋時(shí)間(jiān)自然也增加了不少(shǎo)。而自從DIV+CSS的布局替代Table布局之後,這一切都得(de)到了極大(dà)的改善,讓Table回歸到它原本用于顯示數(shù)據的位置上(shàng)去,而布局就交給DIV+CSS來(lái)做(zuò),這樣代碼的可(kě)讀性與複用性都得(de)到了提高(gāo),而DIV+CSS更為(wèi)重要的一點就是将網頁文件的表現與結構區(qū)分開(kāi)來(lái),再也不用為(wèi)了表現而去改動整個(gè)網頁文件的結構了。   

即使DIV+CSS的布局方式将以前Table布局時(shí)代碼的臃腫降到了最低(dī),但(dàn)對于網頁設計(jì)師(shī)來(lái)說,如何将網頁文件的大(dà)小(xiǎo)控制(zhì)到最小(xiǎo)是永遠值得(de)探索和(hé)追求的一個(gè)問題。

看如下一段代碼:

#header {   
margin-top:10px;   
margin-right:15px;   
margin-bottom:10px;   
margin-left:15px;   
backgroung-color:#333333;   
background-images:url(http://www.52css.com/Images/header.jpg);   
}

這樣的一段CSS代碼,在條理(lǐ)上(shàng)很(hěn)清晰,結構也很(hěn)明(míng)了,可(kě)讀性很(hěn)強,可(kě)是這樣的一段代碼卻沒有(yǒu)做(zuò)精簡,也就是說它是最原始的CSS代碼,下面看精簡後的代碼:

#header {   
margin:10px 15px;   
backgroung:#333 url(http://www.52css.com/Images/header.jpg);   
}

在CSS中有(yǒu)複合屬性這一說法,也就是說可(kě)以将很(hěn)多(duō)屬性參數(shù)整合在一起的,比如說上(shàng)面的“margin-top; margin-right; margin-bottom; margin-left;”可(kě)以整合成一個(gè)“margin”屬性,然後為(wèi)其配上(shàng)參數(shù)。

通(tōng)過這一點,我們就可(kě)以在原始CSS代碼的基本上(shàng)将代碼進一步的精簡。而且這樣寫的結構也合理(lǐ),可(kě)讀性也同樣強。可(kě)是對于要精簡到徹底來(lái)說,這還(hái)不夠。為(wèi)了讓這段CSS代碼的結構明(míng)了,我們用上(shàng)了空(kōng)格換行(xíng)等占用空(kōng)間(jiān)的東西,如果将這些(xiē)占用空(kōng)間(jiān)的去掉呢?

#header{margin:10px 15px;background:#333 url(http://www.52css.com/Images/header.jpg);}

隻這一句就替代了上(shàng)面的一段代碼,這樣代碼就已經精簡到了最大(dà)化,當然,并不推薦所有(yǒu)人(rén)都這樣寫,這樣寫的CSS代碼在可(kě)讀性上(shàng)要遠遠差于段落式的寫法,除非你(nǐ)對自己寫的代碼有(yǒu)完全掌握的信心。

在同一個(gè)站(zhàn)點的CSS文件中,不可(kě)避免的會(huì)出現不同的ID或Class卻有(yǒu)一部分相同的屬性,如果将這些(xiē)ID或Class逐個(gè)分開(kāi)來(lái)寫的話(huà),在CSS文件裏無疑會(huì)生(shēng)成重複代碼,而我們要盡量的精簡CSS文件的大(dà)小(xiǎo),那(nà)麽“消滅”這部分重複的代碼就變得(de)勢在必行(xíng)。

看下面一段CSS代碼:

#header{margin:10px 15px;background:#333 url(http://www.52css.com/Images/header.jpg);}   
#content{margin:10px 15px;padding:10px;background:#999;}   
#copyright{margin:10px 15px;border:1px solid #f00;}

在上(shàng)面的三個(gè)ID中都有(yǒu)一個(gè)相同的屬性“margin:10px 15px;”,如果就這樣分開(kāi)來(lái)寫的話(huà),這三個(gè)ID之間(jiān)将保持各自獨立的關系,但(dàn)卻生(shēng)成了重複的代碼,而我們可(kě)以将其寫成如下格式:

#header,#content,#copyright{margin:10px 15px;}   
#header{background:#333 url(http://www.52css.com/Images/header.jpg);}   
#content{padding:10px;background:#999;}   
#copyright{border:1px solid #f00;}

将上(shàng)面的ID換成Class也是一樣的。這樣寫我們就成功的将重複代碼“消滅”掉了。但(dàn)是如果這裏具有(yǒu)相同的屬性的ID或Class過多(duō)的話(huà),難免會(huì)造成代碼可(kě)讀性降到很(hěn)低(dī)很(hěn)低(dī),所以除此之外當具有(yǒu)相同屬性的都是Class時(shí)還(hái)有(yǒu)另外的一種寫法:

.main{margin:10px 15px;}   
.header{background:#333 url(http://www.52css.com/Images/header.jpg);}   
.content{padding:10px;background:#999;}   
.copyright{border:1px solid #f00;}

當然這種寫法時(shí),調用時(shí)的寫法也與平常不一樣。

這樣的寫法同樣可(kě)以達到效果,并且也不會(huì)再怕具有(yǒu)相同屬性的Class多(duō)而造成代碼可(kě)讀性差的問題,但(dàn)值得(de)注意的一點就是,這種寫法對于ID是無效的,不管其中是存在一個(gè)ID或者全部都是ID,都将造成這段代碼的無效。