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