如何規(guī)范的對(duì)CSSsel_Div+CSS教程
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
Web開發(fā)者(也就是您)可以通過(guò)創(chuàng)建CSS類及id名稱并使用這些名稱來(lái)對(duì)div以及其他的頁(yè)面元素、標(biāo)簽進(jìn)行標(biāo)識(shí)。對(duì)開發(fā)人員來(lái)說(shuō),在命名重新定義XHTML標(biāo)記(tags)的CSS selectors時(shí),必須保證其與預(yù)定義的標(biāo)記準(zhǔn)確匹配,但就類以及id選擇器名稱而言,則仁者見仁,智者見智。然而隨心所欲的為這些類以及id命名則并不是個(gè)好的習(xí)慣。
在閱讀了由Andy Clarke(of Stuff and Nonsense and All That Malarkey)以及Eric Meyer所撰寫的關(guān)于CSS類以及id命名規(guī)范的系列文章之后,我開始思考在自己的Web站點(diǎn)設(shè)計(jì)過(guò)程中對(duì)類以及ids的命名方式。
直觀命名
當(dāng)在設(shè)計(jì)Web頁(yè)面以及需要對(duì)一個(gè)div進(jìn)行標(biāo)識(shí)的時(shí)候,最自然的想法就是使用可以描述元素所在頁(yè)面位置的詞匯來(lái)對(duì)其命名。這種方法使得類以及id的名稱如下面所示:
示例代碼 [hl5o.cn]
top-panel
horizontal-nav
left-side
center-column
right-col
horizontal-nav
left-side
center-column
right-col
這些是CSS以及XHTML類和id的有效命名方式。這些詞匯簡(jiǎn)單并且能夠使人顧名思義,因此滿足了標(biāo)識(shí)頁(yè)面元素以及相應(yīng)的CSS樣式的需要。
但問(wèn)題是這樣的名稱同頁(yè)面內(nèi)容的特定表達(dá)方式相關(guān)聯(lián)。這些命名參考了某種特定頁(yè)面布局中的頁(yè)面元素位置,因此在這樣的布局之外使用就會(huì)顯得不合適甚至造成理解混亂。同時(shí),這些命名沒(méi)有涉及文檔內(nèi)容的結(jié)構(gòu)。因此,下面給出了對(duì)CSS類以及ID命名更好的方法。
結(jié)構(gòu)化命名
結(jié)構(gòu)化的標(biāo)記意味著表達(dá)方式/位置信息同內(nèi)容的完全分離——這其中包括出現(xiàn)在標(biāo)記(markup)中的類和id名稱。
有標(biāo)記的相關(guān)信息都是用來(lái)描述文檔的結(jié)構(gòu)而不是外觀。這樣的特點(diǎn)使得我們可以通過(guò)簡(jiǎn)單的改變CSS的方式來(lái)對(duì)不同外觀格式下的內(nèi)容(content)以及標(biāo)記(markup)進(jìn)行重用。當(dāng)你理解這種方式時(shí),很輕易就可以發(fā)現(xiàn)采用頁(yè)面位置來(lái)為類以及id命名的方式在處理如音頻(audio)等外觀格式上顯得非常不合適。因此,應(yīng)當(dāng)根據(jù)在文檔中的使用目的而非出現(xiàn)位置來(lái)對(duì)類以及id進(jìn)行結(jié)構(gòu)化命名。
可以按照如下所示的結(jié)構(gòu)化方式來(lái)對(duì)類以及id名稱命名:
示例代碼 [hl5o.cn]
branding
main-nav
subnav
main-content
sidebar
main-nav
subnav
main-content
sidebar
這些名字同直觀命名方式一樣非常易懂,但他們描述了頁(yè)面元素的作用而非位置。這使得代碼更加符合使用純粹的結(jié)構(gòu)化標(biāo)記(structural markup)的初衷,即開發(fā)人員可以在不改變標(biāo)記的情況下對(duì)各種各樣媒體下的顯示格式進(jìn)行處理。
即使你不打算在其他的媒體上對(duì)Web頁(yè)面進(jìn)行格式修改,使用結(jié)構(gòu)化命名方式還可以幫助你在日后的站點(diǎn)升級(jí)或重新設(shè)計(jì)中更為輕松。例如,結(jié)構(gòu)化命名避免了當(dāng)一個(gè)div同id right-column移動(dòng)到頁(yè)面左邊后所帶來(lái)的混亂。對(duì)div sidebar的采用這樣的命名方式就顯得更加適當(dāng),因?yàn)闊o(wú)論它出現(xiàn)在頁(yè)面的哪一邊,這個(gè)名字仍然對(duì)開發(fā)人員來(lái)說(shuō)直觀易懂。
一些命名慣例
Andy Clarke分析了40份由推崇標(biāo)準(zhǔn)化Web設(shè)計(jì)理念的開發(fā)人員所設(shè)計(jì)的Web站點(diǎn)的源代碼。盡管類以及id名稱很不統(tǒng)一,但是還是發(fā)現(xiàn)了一些頻繁出現(xiàn)的常用名稱。這里給出了最常用類/id名稱的示例列表:
示例代碼 [hl5o.cn]
header
content
nav
sidebar
footer
content
nav
sidebar
footer
這些常見的類以及id名稱是否標(biāo)志著一種標(biāo)準(zhǔn)的誕生或是普遍接受慣例的形成呢?盡管這是我所希望的,但我并不這么認(rèn)為。我的確希望能夠看見一整套對(duì)于我們天天都可以看到的常用頁(yè)面元素的命名標(biāo)準(zhǔn)。同時(shí),使用標(biāo)準(zhǔn)化的命名方式可以使得尋找頁(yè)面元素以及對(duì)Web站點(diǎn)升級(jí)帶來(lái)方便,尤其當(dāng)需要在由不同開發(fā)人員在不同時(shí)間所開發(fā)站點(diǎn)中換來(lái)?yè)Q去工作的時(shí)候。
相關(guān)Div+CSS教程:
- DIV+CSS設(shè)計(jì)的誤區(qū)
- CSS基礎(chǔ):常用CSS英文字體介紹
- IE6和IE7中border邊框斷線現(xiàn)象
- border:none;與border:0;的有什么不同?
- div+css下js對(duì)聯(lián)廣告不隨屏幕滾動(dòng)的解決方法
- HTML元素的ID和Name屬性的區(qū)別
- divcss教程:深入了解css的行高Line Height屬性
- CSS文檔流,塊級(jí)元素和內(nèi)聯(lián)元素
- 5個(gè)你該知道的CSS3新技術(shù)
- 用正則表達(dá)式替換a標(biāo)記href值
- 30個(gè)優(yōu)秀的CSS導(dǎo)航和按鈕設(shè)計(jì)教程
- css中px和em有什么區(qū)別
Div+CSS教程Rss訂閱Div+Css教程搜索
Div+CSS教程推薦
- WEB2.0標(biāo)準(zhǔn)教程:第十一天不用表格的菜單
- 樣式表中用星號(hào)定全局樣式
- 運(yùn)用DIVCSS進(jìn)行網(wǎng)站構(gòu)架的一般流程參考
- visibility:hidden和display:none的區(qū)別和用法
- Div CSS三列布局最先顯示中列的方法
- 30個(gè)優(yōu)秀的CSS導(dǎo)航和按鈕設(shè)計(jì)教程
- CSS網(wǎng)頁(yè)布局經(jīng)驗(yàn):富有語(yǔ)義地類class和id標(biāo)記命名
- InternetExplorer對(duì)CSS樣式的限制以及解決方案
- Div CSS網(wǎng)頁(yè)布局三欄頁(yè)CSSfloat方法
- XHTMLCSS網(wǎng)頁(yè)布局中ID與class的理解應(yīng)用
猜你也喜歡看這些
- DIVCSS實(shí)例教程:蔚藍(lán)色的海洋漂亮的CSS縱向菜單
- CSS實(shí)例教程:CSS橫向菜單會(huì)動(dòng)的小豎條
- CSS布局欣賞:淘寶首頁(yè)布局效果
- 用css網(wǎng)站布局之十步實(shí)錄!(二)
- DIV CSS布局入門示例(一)頁(yè)面布局與規(guī)劃
- 用css網(wǎng)站布局之十步實(shí)錄!(九)
- DivCSS布局實(shí)例:很實(shí)用的圖文混排CSS列表-富有語(yǔ)義
- CSS實(shí)例:Unobtrusive頁(yè)簽切換符合Web標(biāo)準(zhǔn)具有html語(yǔ)義
- CSS表格樣式:CSS JS打造可伸縮的表格
- CSS布局實(shí)例:margin優(yōu)化的一種思路
- 相關(guān)鏈接:
- 教程說(shuō)明:
Div+CSS教程-如何規(guī)范的對(duì)CSSsel
。