1.CSS布局若有疑問(wèn)立即檢測(cè)
在出錯(cuò)時(shí)若能對(duì)原始代碼做簡(jiǎn)單檢測(cè)可以省去很多頭痛問(wèn)題。W3C對(duì)于XHTML與CSS都有檢測(cè)工具可用,請(qǐng)見(jiàn)http://validator.w3.org 請(qǐng)注意,在文件開(kāi)頭的錯(cuò)誤,可能因?yàn)椴划?dāng)?shù)慕Y(jié)構(gòu)等因素造成更多錯(cuò)誤;我們建議先修正一些最明顯的錯(cuò)誤之后重新檢測(cè),這樣也許會(huì)讓錯(cuò)誤數(shù)量爆減。
2.嘗試CSS布局避免同時(shí)對(duì)元素指定padding/border以及高度或?qū)挾?
Windows版IE經(jīng)常導(dǎo)致width與height的計(jì)算問(wèn)題。有些方法可以解決此問(wèn)題,但如果母元素需要指定高度與寬度時(shí),最好能夠在母元素之內(nèi)的子元素套用margin,或者當(dāng)子元素需要指定高度與寬度時(shí),在母元素套用padding以達(dá)效果。
3.使用CSS布局浮動(dòng)功能時(shí)記得適當(dāng)清除指令
浮動(dòng)是個(gè)危險(xiǎn)的功能,未必會(huì)產(chǎn)生您所期望的結(jié)果。如果您遇到浮動(dòng)元素延伸到外圍容器的邊框或者其他不正常情況,請(qǐng)先確定您的做法是正確的。請(qǐng)參閱Eric Meyer在Complex Spiral Consulting Web網(wǎng)站上的教學(xué)。
4.CSS布局邊界重合時(shí)利用padding或border來(lái)避免
您可能會(huì)為了一點(diǎn)不應(yīng)該出現(xiàn)的空間而焦頭爛額,或者您需要一點(diǎn)點(diǎn)空間時(shí),怎樣都擠不出來(lái)。如果您有用到margin,那么很容易產(chǎn)生邊界的重合;Andy Budd在他的網(wǎng)站上解釋了可能的做法。
5.若有CSS布局疑問(wèn),先減少百分比
有時(shí)候某些錯(cuò)誤會(huì)使50%+50%成為100.1%,使網(wǎng)頁(yè)出現(xiàn)問(wèn)題。這時(shí)請(qǐng)嘗試將這些值改為49%,甚至49.9%
6.CSS布局不要依賴min-width/min-height
Windows版IE并不支援兩種語(yǔ)法。但是在某種程度下,windows版IE可以達(dá)到相當(dāng)于min-width/min-height的效果,所以只要對(duì)IE做點(diǎn)過(guò)濾功能,即可達(dá)到您想要的結(jié)果。
7.記住CSS布局“TRouBLed”寫法
Border,margin與padding的簡(jiǎn)寫語(yǔ)法有特定順序,從上方開(kāi)始順時(shí)針?lè)较蜣D(zhuǎn)動(dòng):top,right,bottom,left.所以margin:0 1px 3px 5px;的結(jié)果是上方無(wú)邊界,右邊1像素,以此類推。記住“TRouBLe”,您就不會(huì)弄錯(cuò)次序了。
8.CSS布局只要不是零的值,都要指定單位
CSS需要您對(duì)每個(gè)font,Margin等各種值指定單位。(唯一的例外是line-height)