使您的CSS網(wǎng)頁布局代碼更專業(yè) 精簡CSS文件
發(fā)布時(shí)間:2010-03-25 11:32:12 作者:佚名
我要評(píng)論
眾所周之,在不影響整個(gè)網(wǎng)頁構(gòu)架與功能的情況下,網(wǎng)頁文件越小越好,因?yàn)楦〉木W(wǎng)頁文件有利于瀏覽器對(duì)網(wǎng)頁的解釋時(shí)間縮到更短,自然訪客也就不用面臨等待網(wǎng)頁緩慢呈現(xiàn)的煩躁了,這一點(diǎn)對(duì)于那些帶寬少網(wǎng)速慢的用戶猶為明顯。
盡管對(duì)于現(xiàn)如今的帶寬來說,網(wǎng)頁文件那僅以K來算的大小實(shí)在是微不足道,但如何將這以K來計(jì)算的網(wǎng)頁文件精簡到最小還是網(wǎng)頁設(shè)計(jì)師們所應(yīng)該考慮的問題之一。試想一下,你會(huì)是希望打開一個(gè)網(wǎng)站的時(shí)候整個(gè)站點(diǎn)馬上呈現(xiàn)在你面前呢?還是喜歡花上十幾秒甚至是幾分釧來看整個(gè)站點(diǎn)一點(diǎn)一點(diǎn)的被瀏覽器解釋出來呢?
在Table布局的時(shí)代,代碼無數(shù)次的隨著表格在頁面里重復(fù),致使整個(gè)網(wǎng)頁文件變得臃腫無比,代碼的可讀性也降到最低,瀏覽器的解釋時(shí)間自然也增加了不少。而自從DIV+CSS的布局替代Table布局之后,這一切都得到了極大的改善,讓Table回歸到它原本用于顯示數(shù)據(jù)的位置上去,而布局就交給DIV+CSS來做,這樣代碼的可讀性與復(fù)用性都得到了提高,而DIV+CSS更為重要的一點(diǎn)就是將網(wǎng)頁文件的表現(xiàn)與結(jié)構(gòu)區(qū)分開來,再也不用為了表現(xiàn)而去改動(dòng)整個(gè)網(wǎng)頁文件的結(jié)構(gòu)了。
即使DIV+CSS的布局方式將以前Table布局時(shí)代碼的臃腫降到了最低,但對(duì)于網(wǎng)頁設(shè)計(jì)師來說,如何將網(wǎng)頁文件的大小控制到最小是永遠(yuǎn)值得探索和追求的一個(gè)問題。
看如下一段代碼:
#header {
margin-top:10px;
margin-right:15px;
margin-bottom:10px;
margin-left:15px;
backgroung-color:#333333;
background-images:url(http://m.fzitv.net/Images/logo.gif);
}
這樣的一段CSS代碼,在條理上很清晰,結(jié)構(gòu)也很明了,可讀性很強(qiáng),可是這樣的一段代碼卻沒有做精簡,也就是說它是最原始的CSS代碼,下面看精簡后的代碼:
#header {
margin:10px 15px;
backgroung:#333 url(http://m.fzitv.net/Images/logo.gif);
}
在CSS中有復(fù)合屬性這一說法,也就是說可以將很多屬性參數(shù)整合在一起的,比如說上面的“margin-top; margin-right; margin-bottom; margin-left;”可以整合成一個(gè)“margin”屬性,然后為其配上參數(shù)。
通過這一點(diǎn),我們就可以在原始CSS代碼的基本上將代碼進(jìn)一步的精簡。而且這樣寫的結(jié)構(gòu)也合理,可讀性也同樣強(qiáng)??墒菍?duì)于要精簡到徹底來說,這還不夠。為了讓這段CSS代碼的結(jié)構(gòu)明了,我們用上了空格換行等占用空間的東西,如果將這些占用空間的去掉呢?
#header{margin:10px 15px;background:#333 url(http://m.fzitv.net/Images/logo.gif);}
只這一句就替代了上面的一段代碼,這樣代碼就已經(jīng)精簡到了最大化,當(dāng)然,并不推薦所有人都這樣寫,這樣寫的CSS代碼在可讀性上要遠(yuǎn)遠(yuǎn)差于段落式的寫法,除非你對(duì)自己寫的代碼有完全掌握的信心。
在同一個(gè)站點(diǎn)的CSS文件中,不可避免的會(huì)出現(xiàn)不同的ID或Class卻有一部分相同的屬性,如果將這些ID或Class逐個(gè)分開來寫的話,在CSS文件里無疑會(huì)生成重復(fù)代碼,而我們要盡量的精簡CSS文件的大小,那么“消滅”這部分重復(fù)的代碼就變得勢在必行。
看下面一段CSS代碼:
#header{margin:10px 15px;background:#333 url(http://m.fzitv.net/Images/logo.gif);}
#content{margin:10px 15px;padding:10px;background:#999;}
#copyright{margin:10px 15px;border:1px solid #f00;}
在上面的三個(gè)ID中都有一個(gè)相同的屬性“margin:10px 15px;”,如果就這樣分開來寫的話,這三個(gè)ID之間將保持各自獨(dú)立的關(guān)系,但卻生成了重復(fù)的代碼,而我們可以將其寫成如下格式:
#header,#content,#copyright{margin:10px 15px;}
#header{background:#333 url(http://m.fzitv.net/Images/logo.gif);}
#content{padding:10px;background:#999;}
#copyright{border:1px solid #f00;}
將上面的ID換成Class也是一樣的。這樣寫我們就成功的將重復(fù)代碼“消滅”掉了。但是如果這里具有相同的屬性的ID或Class過多的話,難免會(huì)造成代碼可讀性降到很低很低,所以除此之外當(dāng)具有相同屬性的都是Class時(shí)還有另外的一種寫法:
.main{margin:10px 15px;}
.header{background:#333 url(http://m.fzitv.net/Images/logo.gif);}
.content{padding:10px;background:#999;}
.copyright{border:1px solid #f00;}
當(dāng)然這種寫法時(shí),調(diào)用時(shí)的寫法也與平常不一樣。
<div class="header main"></div>
<div class="content main"></div>
<div class="copyright main"></div>
這樣的寫法同樣可以達(dá)到效果,并且也不會(huì)再怕具有相同屬性的Class多而造成代碼可讀性差的問題,但值得注意的一點(diǎn)就是,這種寫法對(duì)于ID是無效的,不管其中是存在一個(gè)ID或者全部都是ID,都將造成這段代碼的無效。
在Table布局的時(shí)代,代碼無數(shù)次的隨著表格在頁面里重復(fù),致使整個(gè)網(wǎng)頁文件變得臃腫無比,代碼的可讀性也降到最低,瀏覽器的解釋時(shí)間自然也增加了不少。而自從DIV+CSS的布局替代Table布局之后,這一切都得到了極大的改善,讓Table回歸到它原本用于顯示數(shù)據(jù)的位置上去,而布局就交給DIV+CSS來做,這樣代碼的可讀性與復(fù)用性都得到了提高,而DIV+CSS更為重要的一點(diǎn)就是將網(wǎng)頁文件的表現(xiàn)與結(jié)構(gòu)區(qū)分開來,再也不用為了表現(xiàn)而去改動(dòng)整個(gè)網(wǎng)頁文件的結(jié)構(gòu)了。
即使DIV+CSS的布局方式將以前Table布局時(shí)代碼的臃腫降到了最低,但對(duì)于網(wǎng)頁設(shè)計(jì)師來說,如何將網(wǎng)頁文件的大小控制到最小是永遠(yuǎn)值得探索和追求的一個(gè)問題。
看如下一段代碼:
復(fù)制代碼
代碼如下:#header {
margin-top:10px;
margin-right:15px;
margin-bottom:10px;
margin-left:15px;
backgroung-color:#333333;
background-images:url(http://m.fzitv.net/Images/logo.gif);
}
這樣的一段CSS代碼,在條理上很清晰,結(jié)構(gòu)也很明了,可讀性很強(qiáng),可是這樣的一段代碼卻沒有做精簡,也就是說它是最原始的CSS代碼,下面看精簡后的代碼:
復(fù)制代碼
代碼如下:#header {
margin:10px 15px;
backgroung:#333 url(http://m.fzitv.net/Images/logo.gif);
}
在CSS中有復(fù)合屬性這一說法,也就是說可以將很多屬性參數(shù)整合在一起的,比如說上面的“margin-top; margin-right; margin-bottom; margin-left;”可以整合成一個(gè)“margin”屬性,然后為其配上參數(shù)。
通過這一點(diǎn),我們就可以在原始CSS代碼的基本上將代碼進(jìn)一步的精簡。而且這樣寫的結(jié)構(gòu)也合理,可讀性也同樣強(qiáng)??墒菍?duì)于要精簡到徹底來說,這還不夠。為了讓這段CSS代碼的結(jié)構(gòu)明了,我們用上了空格換行等占用空間的東西,如果將這些占用空間的去掉呢?
復(fù)制代碼
代碼如下:#header{margin:10px 15px;background:#333 url(http://m.fzitv.net/Images/logo.gif);}
只這一句就替代了上面的一段代碼,這樣代碼就已經(jīng)精簡到了最大化,當(dāng)然,并不推薦所有人都這樣寫,這樣寫的CSS代碼在可讀性上要遠(yuǎn)遠(yuǎn)差于段落式的寫法,除非你對(duì)自己寫的代碼有完全掌握的信心。
在同一個(gè)站點(diǎn)的CSS文件中,不可避免的會(huì)出現(xiàn)不同的ID或Class卻有一部分相同的屬性,如果將這些ID或Class逐個(gè)分開來寫的話,在CSS文件里無疑會(huì)生成重復(fù)代碼,而我們要盡量的精簡CSS文件的大小,那么“消滅”這部分重復(fù)的代碼就變得勢在必行。
看下面一段CSS代碼:
復(fù)制代碼
代碼如下:#header{margin:10px 15px;background:#333 url(http://m.fzitv.net/Images/logo.gif);}
#content{margin:10px 15px;padding:10px;background:#999;}
#copyright{margin:10px 15px;border:1px solid #f00;}
在上面的三個(gè)ID中都有一個(gè)相同的屬性“margin:10px 15px;”,如果就這樣分開來寫的話,這三個(gè)ID之間將保持各自獨(dú)立的關(guān)系,但卻生成了重復(fù)的代碼,而我們可以將其寫成如下格式:
復(fù)制代碼
代碼如下:#header,#content,#copyright{margin:10px 15px;}
#header{background:#333 url(http://m.fzitv.net/Images/logo.gif);}
#content{padding:10px;background:#999;}
#copyright{border:1px solid #f00;}
將上面的ID換成Class也是一樣的。這樣寫我們就成功的將重復(fù)代碼“消滅”掉了。但是如果這里具有相同的屬性的ID或Class過多的話,難免會(huì)造成代碼可讀性降到很低很低,所以除此之外當(dāng)具有相同屬性的都是Class時(shí)還有另外的一種寫法:
復(fù)制代碼
代碼如下:.main{margin:10px 15px;}
.header{background:#333 url(http://m.fzitv.net/Images/logo.gif);}
.content{padding:10px;background:#999;}
.copyright{border:1px solid #f00;}
當(dāng)然這種寫法時(shí),調(diào)用時(shí)的寫法也與平常不一樣。
復(fù)制代碼
代碼如下:<div class="header main"></div>
<div class="content main"></div>
<div class="copyright main"></div>
這樣的寫法同樣可以達(dá)到效果,并且也不會(huì)再怕具有相同屬性的Class多而造成代碼可讀性差的問題,但值得注意的一點(diǎn)就是,這種寫法對(duì)于ID是無效的,不管其中是存在一個(gè)ID或者全部都是ID,都將造成這段代碼的無效。
相關(guān)文章
本文主要介紹了css九宮格布局的五種方法,內(nèi)容包括grid布局、flex布局、table布局、float浮動(dòng)定位、inline-block+letter-spacing屬性這五種方法的實(shí)現(xiàn),感興趣的可以了解下2023-09-18- 在Web開發(fā)中,經(jīng)常會(huì)遇到需要將元素水平和垂直居中的情況,今天,將為大家分享幾種CSS方法,讓你的元素輕松居中,讓頁面更美觀吸引人,感興趣的小伙伴可以自己動(dòng)手試一試2023-09-08
- 相信大家在面試的時(shí)候也會(huì)經(jīng)常碰到css實(shí)現(xiàn)元素居中的方法,下面我介紹6種方法給大家,歡迎大家評(píng)論區(qū)交流2023-09-07

flex布局中使用flex-wrap實(shí)現(xiàn)換行的項(xiàng)目實(shí)踐
最近需要做個(gè)換行的布局,本文主要介紹了flex布局中使用flex-wrap實(shí)現(xiàn)換行的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需2022-06-16CSS布局之浮動(dòng)(float)和定位(position)屬性的區(qū)別
今天看到有朋友留言問浮動(dòng)和定位有什么區(qū)別,如何使用?今天找了篇文章,講的比較通俗易懂,供大家參考2021-09-23
這篇文章主要介紹了css實(shí)現(xiàn)元素居中的N種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
div水平布局兩邊對(duì)齊的三種實(shí)現(xiàn)方法
這篇文章主要介紹了div水平布局兩邊對(duì)齊的三種實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起2021-01-21
waterfall瀑布流布局+動(dòng)態(tài)渲染的實(shí)現(xiàn)
這篇文章主要介紹了waterfall瀑布流布局+動(dòng)態(tài)渲染的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起2021-01-19
頁面中有間隔的方格布局如何完美實(shí)現(xiàn)方法
這篇文章主要介紹了頁面中有間隔的方格布局如何完美實(shí)現(xiàn)方法。文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來2020-11-27css實(shí)現(xiàn)六種自適應(yīng)兩欄布局方式
這篇文章主要介紹了css實(shí)現(xiàn)六種自適應(yīng)兩欄布局方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)2020-10-28

