1、“節(jié)省代碼”是營銷手段,不是宗旨
“使用div布局可以比table布局節(jié)省更多的代碼”,我在很多書籍和網(wǎng)站上見到過這句話。這句話本身是沒錯的,可以“節(jié)省代碼”的確是網(wǎng)頁標(biāo)準(zhǔn)化所帶來的好處之一。然而切記,它只是“好處之一”,而不是“唯一好處”,更不是宗旨。“節(jié)省代碼”更多的時候是我們用來說服那些頑固不化的老板的營銷手段。網(wǎng)頁標(biāo)準(zhǔn)化的唯一宗旨是“結(jié)構(gòu)與表現(xiàn)分離”,而絕不是為了節(jié)省代碼而節(jié)省代碼。
2、ID是狙擊槍,class是雙刃劍
想要做好網(wǎng)頁結(jié)構(gòu),id與class都是必須熟練掌握的,所謂“兩手抓,兩手都要硬”。ID就象狙擊槍一樣,可以幫助我們精準(zhǔn)地定位要想要加載樣式的元素;而class則是俠客的佩劍,信手拈來更加輕盈靈便,兩者的結(jié)合能夠?qū)崿F(xiàn)結(jié)構(gòu)良好且表現(xiàn)豐富的頁面。然而現(xiàn)在有一種錯誤的觀點,就是id完全可以用class來取代,事實上許多網(wǎng)頁源代碼也的確如此,打開來通篇class,找不到一個id
3、并不是所有的內(nèi)容都需要div做“容器”
主菜單究竟是用<div id="mainnav"><ul>還是<ul id="mainnav">?這是一個博弈的問題。至今這個問題也沒有人能夠給出明確的答案,就連我也是如此。
4、工作上也做到“結(jié)構(gòu)與表現(xiàn)分離”
關(guān)于這一點,網(wǎng)絡(luò)上很多高手都是這樣建議的,也就是先打開編輯器,把結(jié)構(gòu)完整地寫出來,再去CSS里寫表現(xiàn),而盡量不去動已經(jīng)寫好的結(jié)構(gòu)。
5、CSS不是萬能的,沒有CSS也不是萬萬不能的
相比于CSS1.0時代,今天CSS可以完成更多的事情,然而需求永遠(yuǎn)是領(lǐng)先于技術(shù)的,CSS無法完成網(wǎng)頁所有的表現(xiàn)層工作,有時候我們必須結(jié)合JS或者其他語言來實現(xiàn)一些效果。而另一些時候,用JS的方法比只靠CSS簡單得多,并且代碼結(jié)構(gòu)更加良好——最典型的例子就是下拉菜單。