亚洲AV无码乱码在线观看不卡|最新大伊香蕉精品视频在线|亚洲不卡av一区二区|国产美女无遮挡免费

登錄論壇 | 注冊(cè)會(huì)員 設(shè)為首頁(yè) | 收藏本站
當(dāng)前位置 : 首頁(yè)>軟件學(xué)院>程序開(kāi)發(fā)>CSS>正文
 
設(shè)計(jì)技巧:CSS選擇符命名的原則

http://m.yibo1263.com 2009-1-16 8:04:44  來(lái)源:東北IT網(wǎng)  編輯:葉子
 
  坦率的說(shuō),我寫(xiě)CSS時(shí),有至少1/4的時(shí)間是在糾結(jié)選擇符該如何命名。隨意的命名,會(huì)讓你陷入尷尬。

  舉個(gè)例子,我們需要在一段文字里將某些詞標(biāo)紅。所以為此建了一個(gè).red { color: red; }。結(jié)果產(chǎn)品經(jīng)理覺(jué)得,紅色太刺眼了,改成橘色比較好吧。這下頭大啦,難道寫(xiě)成.red { color: orange; }么?要不然就是把HTML里的每個(gè)class="red"改成class="orange"?

  在過(guò)去幾年時(shí)間里,我經(jīng)常遇到這樣的尷尬。因此作為一些經(jīng)驗(yàn)之談,我整理出以下的幾個(gè)命名原則:

  原則一:CSS選擇符命名應(yīng)該體現(xiàn)結(jié)構(gòu)而不是樣式。

  這句話(huà)聽(tīng)起來(lái)很奇怪。這樣不是違反了結(jié)構(gòu)和樣式分離的原則么?恰恰相反,其實(shí)正是遵循分離原則。要知道,CSS選擇符名真正的用處是在HTML代碼里修飾標(biāo)簽。所以它其實(shí)應(yīng)該被看作結(jié)構(gòu)的一部分。因此選擇符的名字不可以跟樣式有關(guān)。
  我開(kāi)頭將的那個(gè)例子,就是違反這一原則典型。正確的寫(xiě)法,應(yīng)該是.highlight { color: red; },或者索性就用em { color: red; font-style:normal; }。
  同理,我盡量避免用帶有l(wèi)eft、right、顏色、bold等字眼的名字,總而言之,那些可以被作為CSS屬性值的名字,都盡量少用作名字。
  有時(shí)候,我們會(huì)遇到另一種情況。有一個(gè)很常見(jiàn)的布局:標(biāo)題放在區(qū)塊的左上方,而右上方是一個(gè)“查看更多”的鏈接。所以我們會(huì)用這樣的代碼

<h2>
<span><a href="#">查看更多</a></span>
精彩貼圖
</h2>


  自然,會(huì)有相應(yīng)的樣式:

  h2 span {float:right;}

  但是這樣做其實(shí)很危險(xiǎn)。如果我們要求給標(biāo)題后再加一個(gè)副標(biāo)題(比如“超過(guò)1000萬(wàn)精美圖片”之類(lèi)的惡俗標(biāo)語(yǔ)),就沒(méi)法再用span了。用strong或是em,其實(shí)感覺(jué)怪怪的。

  原則二:不要輕易將特殊樣式直接賦給常用的HTML標(biāo)簽

  上面那個(gè)例子的問(wèn)題就在于,輕易的將樣式應(yīng)用在span這種常用的標(biāo)簽上了。h2 span這種選擇符,意味著你認(rèn)為h2里所有的span都要使用右浮動(dòng)。但是這樣的判斷顯然是很武斷的。

  另一個(gè)例子是,喜歡用ul.top10 li這種選擇符。這樣用并非不可,但請(qǐng)先確保這個(gè)排行榜里只是純文字。倘若有一天產(chǎn)品經(jīng)理發(fā)現(xiàn),似乎應(yīng)該把前三個(gè)的信息寫(xiě)得更詳細(xì),就意味著你可能需要用到下面這種結(jié)構(gòu):

<ul class="top">
<li>
<div class="product">
<h6>產(chǎn)品名稱(chēng)</h6>
<ul>
<li>型號(hào):XXX</li>
...
</ul>
<div>
</li>
</ul>

  這下又傻眼了吧。只能用.top20 .product li {}去覆蓋掉之前的樣式。
  我比較傾向的寫(xiě)法,是如 ul.top20 li.item這樣寫(xiě)。(當(dāng)然,CSS2準(zhǔn)備了更多更精準(zhǔn)的后代選擇器,就犯不著這個(gè)了。等待IE8吧~~)

  原則三:設(shè)計(jì)好一系列的“全局保留字”,以避免命名沖突

  一些常用的單詞,就不要用作特殊樣式的名字。比如,我們會(huì)經(jīng)常用到如下的選擇符:

  .tab li.current
  或者
  .nav li.current

  以表示當(dāng)前激活的標(biāo)簽或選項(xiàng)。很多樣式都會(huì)用到“current”這個(gè)單詞,為了避免彼此的樣式?jīng)_突,有一個(gè)很簡(jiǎn)單的辦法,就是人為商定,單純的.current樣式不作任何定義。換句話(huà)說(shuō),current這個(gè)名字只能出現(xiàn)在精確的后代選擇符中。
  類(lèi)似的還有:

  “.active”:和current差不多,有人也喜歡用這個(gè)
  “.first”:經(jīng)常在如“ 選項(xiàng)   選項(xiàng)   選項(xiàng)”的結(jié)構(gòu)中用到
  “.last”:在田字格布局中可能會(huì)用到
  “.hover”:有時(shí)候需要用這個(gè)樣式結(jié)合JS實(shí)現(xiàn)一些效果
  “.text”、“.button”、“.submit”等:在屬性選擇器普及前,input標(biāo)簽的樣式都靠它們了。

  原則四:英文要正確

  哎,這只能怪計(jì)算機(jī)是美國(guó)人發(fā)明的了。有時(shí)候會(huì)看到一些奇怪的選擇符名。我解釋一些常用單詞的含義:

  header,footer:
  這兩個(gè)的意思是指“頭部”和“底部”,更確切點(diǎn)講是“頁(yè)頭”和“頁(yè)尾”。

  heading,footing:

本新聞共2頁(yè),當(dāng)前在第1頁(yè)  1  2  

 
收藏】【打印】【進(jìn)入論壇
  相關(guān)文章:

·CSS3 Media Queries 詳解
·CSS實(shí)例教程:非浮動(dòng)區(qū)域設(shè)置寬度
·css的效率和瀏覽器渲染的速度
·關(guān)于CSS HACK 解決兼容的寫(xiě)法 
·小議使用“完整”的CSS的缺點(diǎn)
·關(guān)于CSS不透明的詳細(xì)介紹 
·CSS中設(shè)置段落間距的方法
·用css網(wǎng)站布局之十步實(shí)錄
·DIV+CSS布局代碼精簡(jiǎn)對(duì)SEO的影響 
·CSS教程:網(wǎng)頁(yè)中英文字體的設(shè)置 
·css3文本陰影屬性text-shadow說(shuō)明 

 
 
 
 
最新文章

中關(guān)村艷照門(mén)女主角詳記錄高清組圖 
大連護(hù)士門(mén)大尺度艷照高清組圖
iPhone女孩微博爆紅 最寶貴東西換iPhon
反恐精英之父內(nèi)維爾:改變電腦游戲銷(xiāo)售
團(tuán)購(gòu)網(wǎng)站黎明之前:中國(guó)市場(chǎng)慘烈廝殺不
團(tuán)購(gòu)鼻祖Groupon中國(guó)揭秘:快與慢的商業(yè)
Spil Games發(fā)布新的品牌形象
1800配置一臺(tái)主機(jī) 不要顯示器
聯(lián)想V360筆記本模特寫(xiě)真
愛(ài)國(guó)者第四代移動(dòng)硬盤(pán)將面市、低電壓保

 
推薦文章
1
2
3
4
5
6
7
8
9
10
iPhone女孩微博爆紅 最寶貴東西換
大連護(hù)士門(mén)大尺度艷照高清組圖
中關(guān)村艷照門(mén)女主角詳記錄高清組
蘋(píng)果員工中毒門(mén)
宮如敏不雅照瘋傳 看張馨予韓一菲
深耕市場(chǎng) 永續(xù)經(jīng)營(yíng)——專(zhuān)訪(fǎng)百腦匯
優(yōu)派專(zhuān)業(yè)電子書(shū) 讓您回家旅途多姿
揭曉百萬(wàn)大獎(jiǎng)三星bada魅力綻放中
大明龍權(quán)“江湖英雄會(huì)”全國(guó)PK大
永恒之塔校園達(dá)人挑戰(zhàn)賽完美落幕
八卦圖解 More>>
iPhone女孩微博爆紅 最寶貴東西換 大連護(hù)士門(mén)大尺度艷照高清組圖
中關(guān)村艷照門(mén)女主角詳記錄高清組 宮如敏不雅照瘋傳 看張馨予韓一菲
茌平县| 肇庆市| 同江市| 赞皇县| 肇庆市| 都安| 安图县| 登封市| 兴山县| 香河县| 澄江县| 文登市| 玉溪市| 遂平县| 博客| 互助| 昭平县| 九江市| 德兴市| 漳州市| 公主岭市| 康乐县| 江西省| 林口县| 米泉市| 永州市| 湾仔区| 福安市| 呼和浩特市| 黑龙江省| 永靖县| 丹凤县| 渭南市| 刚察县| 河曲县| 盐津县| 册亨县| 民丰县| 久治县| 海盐县| 玉屏|