找Bug 篇
原始代碼,未做修正:
運行代碼框 [Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]
引用: 老師幫忙看一下以下網(wǎng)址:http://taotao.wsyren.com/other/test.html 想做個全瀏覽器兼容的網(wǎng)頁還真困難啊(兼容ie6,7,8,opera,ff,chrome),我想讓邊框上下都對齊的,可是怎幺調(diào)也調(diào) 不出來,而且我發(fā)現(xiàn)不僅是ie和firefox有2像素差別的問題,opera和firefox也有2像素差別的問題,郁悶啊… 以上網(wǎng)頁在不同瀏覽器里看下邊都是沒有對齊的..
以下為教程正文內(nèi)容:
感覺這個頁面比較有普遍性,下面就說說我的解決思路,以及是如何“重構”(其實這里說重構不太嚴謹,只是為了方便大家的理解)的,請同學們在看的同時,先自己分析一下這個頁面的結(jié)構,以及為什么會出問題?這樣理解會更加深刻一些,那幺現(xiàn)在就開始愉快的標準之路吧。
一、找出BUG之前的準備工作 :
我先簡要的講一講牛腩同學的頁面原結(jié)構和CSS寫法,然后再用我的理解指出不合理的地方。首先看看這個頁面的效果,是一個很常見的“一行兩列”的結(jié)構,按照一般的做法,最少需要三個“盒子”,才能實現(xiàn)初步的效果,但是如何實現(xiàn)左邊的盒子和右邊的橫向排列呢??方法有兩種:第一,利用浮動 ; 第二,使用絕對尋址;牛腩同學這里使用的是浮動布局,這是很常見的CSS布局手段。
下面來分析test.html具體的結(jié)構和CSS代碼,
# main 這個最大的塊里面包含了三個子塊,并且引用了一個ID和Class,接著設置了頁面整體的寬度和高度,再用margin:10px auto;就實現(xiàn)了頁面整體居中,并且和窗口上下都有10px的距離,這是比較常見的用法,還有一種,可以不用在外面套DIV,只需要給各個子塊定義寬高和margin 一樣可以實現(xiàn)頁面的整體居中。
#category是左邊的列,設置了寬高,并且使用了float:left,其中高度有兩條屬性,那幺瀏覽器到底執(zhí)行那條命令呢?
#category { height: 368px !important; height: 378px; }
結(jié)果是IE7和firefox 瀏覽器高度為368px,IE6執(zhí)行378px,而忽略368px。 因為!important只有IE7和firefox或者符合標準的瀏覽器才能解析,IE6并不是很規(guī)范,所以會忽略這條屬性,然后定義了margin-right和bottom。用來拉開和其它的塊的距離。接著里面包含一個h4的標題和無序列表,相對比較簡單,也很好理解,各位同學可以自己分析。
#newnews 和 #hotnews 結(jié)構相同 ,都是一個標題和一個表格,其中表格用來顯示具體的新聞內(nèi)容,兩個塊之間也設置了float:left和width:560px以實現(xiàn)和左邊的列#category并排顯示在同一行的效果,接著定義margin-left 和 margin-right ,區(qū)分出各自的范圍。。
出處:藍色理想
責任編輯:bluehearts
上一頁 下一頁 利用CSS布局到底有多難? [2]
◎進入論壇網(wǎng)頁制作 、WEB標準化 版塊參加討論,我還想發(fā)表評論 。