為什么用了_ hack?我能把這些代碼放在單獨(dú)的文件中嗎?或者添加IE專(zhuān)有的class?
很顯然,首先考慮的是盡可能少和長(zhǎng)遠(yuǎn)。
- 添加一個(gè)單獨(dú)的樣式表獎(jiǎng)增加一個(gè)額外的HTTP請(qǐng)求,增加整體文件的大小,這早已是瀏覽器性能的對(duì)立點(diǎn)
- 我喜歡把一個(gè)對(duì)象的代碼放在一個(gè)地方。我認(rèn)為這有助于減少hack的數(shù)量,尤其是當(dāng)項(xiàng)目隨時(shí)間而發(fā)展
- IE6-的開(kāi)發(fā)工具非常原始,這使得hack和普通代碼放在一起更加重要。我想能盡快找到一個(gè)可以使用屬性的IE bug。同樣,我認(rèn)為這有助于減少hack
- 規(guī)則表明瀏覽器理解不了的屬性會(huì)被忽略。對(duì)IE6-使用_早已眾所周知,可以合理的預(yù)料好的瀏覽器將會(huì)忽略這個(gè)屬性
- 使用條件注釋意味著每個(gè)HTML頁(yè)面必須包含一個(gè)IE專(zhuān)用樣式。某一天(我不能等了。┊(dāng)IE6的市場(chǎng)份額下降至像IE5那樣低時(shí),我將去除這些代碼,但最后我要做的是觸及百級(jí)或千級(jí)的HTML頁(yè)面。我寧愿只有依賴(lài)CSS hack的CSS,而不是把它放在HTML中。不幸的是,恕我直言,IE6兼容性的末日比我們期望的要更加長(zhǎng)遠(yuǎn),因?yàn)镮E中的quirksmode會(huì)回落到IE5.5的模式
我認(rèn)為我的選擇有助于減少hack的總體數(shù)量,提升性能,并只有忽略不計(jì)的風(fēng)險(xiǎn)。話(huà)說(shuō)回來(lái),如果覺(jué)得代碼中的_令你作嘔,你完全可以移至單獨(dú)的文件。
為了添加表象效果比如邊框而使用空 <b> 標(biāo)簽容器對(duì)象,會(huì)給屏幕閱讀器用戶(hù)帶來(lái)問(wèn)題嗎?
不會(huì),幸運(yùn)的是屏幕閱讀器會(huì)忽略空的b標(biāo)簽。使用這個(gè)表象標(biāo)簽(b是加粗)來(lái)實(shí)現(xiàn)表象具有優(yōu)勢(shì)。這個(gè)標(biāo)簽可以通過(guò)服務(wù)器端腳本包含,以至于有一天所有的CSS圓角和陰影都支持了,可以關(guān)閉腳本并擁有漂亮,干凈,語(yǔ)義化的HTML。
OOCSS聲稱(chēng)避免位置依賴(lài)的樣式。是否意味著我不能使用類(lèi)似 .myModule .title 的派生選擇器? 不使用派生選擇器沒(méi)什么阻礙,只是把它們放在更高的DOM樹(shù)而已。避免在body或頁(yè)面中最外層的div放置wide-net class或id,然后對(duì)對(duì)象產(chǎn)生的變量寫(xiě)大量的樣式。這不能復(fù)用,同時(shí)會(huì)使頁(yè)面渲染變慢。相反,通過(guò)直接在對(duì)象上添加一個(gè)class來(lái)增加一個(gè)多余的“l(fā)ocal”變量(并對(duì)其子元素寫(xiě)派生樣式)。
一個(gè)好的經(jīng)驗(yàn)是一個(gè)容器主體(body of a container)內(nèi)的任意元素顯然是一個(gè)單獨(dú)的對(duì)象。
這無(wú)可厚非,因?yàn)閁L顯然是一個(gè)單獨(dú)的對(duì)象:
#sidebar ul { ... }
因此,carousel顯然不是body對(duì)象的一部分:
body.browseProducts .carousel
這是適當(dāng)?shù)膶盈B應(yīng)用,因?yàn)樽庸?jié)點(diǎn)真正的是較大的父對(duì)象的一部分。b(角)和inner顯然隸屬于moudle,它們不能獨(dú)立存在:
.myModule { ... } .myModule b { ... } .myModule .inner { ... }
如何貢獻(xiàn)?
最好的方法是涉足其中,開(kāi)始使用代碼(libraries, grids, fonts)并 提交 bug 報(bào)告及功能需求 。 我建了一個(gè) OOCSS google group 來(lái)進(jìn)行超過(guò)140個(gè)twitter字符的討論。
譯注:OOCSS的官方站點(diǎn)為 http://oocss.org/,有一些例子及下載等。
譯文原文:http://www.99css.com/2009/10/oocss-faq.html
本文鏈接:http://m.95time.cn/tech/web/2009/7111.asp
出處:99css
責(zé)任編輯:bluehearts
上一頁(yè) 面向?qū)ο驝SS FAQ [4] 下一頁(yè)
◎進(jìn)入論壇網(wǎng)頁(yè)制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|