1 select標簽必須閉合<select></select>
2 左右布局的時候可以讓一方浮動,浮動的一方設置width,另一方設置margin=float一方的width+實際的margin,如下所示:
.top .top_left{width:250px; float:left; height:500px;}
.top .top_right{height:500px; margin-left:260px;}
但是這樣在IE6下會出現3px bug,這時可以用hack,即*margin-left:257px;最好的方法是讓.top_right也浮動,這樣它會清理3px bug,也就是訂寬雙浮動
3 如果容器的寬度設置的比內容的寬度小,那麼在現代浏覽器中會正常顯示,超出的內容還可以顯示,容器不會撐大,但是在IE6下就不是了,因為IE6下的寬度是min-width,所以容器會被撐開,這樣基於這個容器的絕對相對定位以及margin等都會出現問題,解決方法是可以不對容器設置寬度或者設置的寬度大於或等於內容的最大寬度
4 ! important 如下代碼:
#a{margin-left:30px!important; margin-left:20px;}
在上面的例子中, 層a 在IE6.0中, 左邊距為20像素, 而在Firefox中, 左邊距則變為30像素。 這是因為, !important在 CSS 中表示優先調用, 由於IE不能夠識別這個屬性, 所以在IE中, 只能夠調用 “margin-left:20px;" 這個選項, 所以同樣的一段代碼, 在Firefox和IE中就會顯示不同的樣式。
5 兼容性-------IE6/7下li元素的底部3px bug
在IE6、7下如果一個li包含了浮動元素,那麼這個li會多出3px的底部邊距,解決方法有兩種
一:給li添加float屬性,屬性值可以是除none外的任意值;
二:給li添加vertical-align屬性,屬性值可以是任意值
從解決問題的實質上,這兩種方法並無區別,都是通過添加相應的css屬性來激發li的haslayout,但是方法2更適合來解決這個問題,因為一旦給li添加浮動,那麼勢必要清除之,這是個棘手的問題,雖然有很多方法可以來解決浮動帶來的麻煩,但是無形中增加了代碼的負重,那是我們不想看到的,所以推薦使用方法2。
6 經常遇到一個左右兩個div等高的布局,都設置了高度,但是其中一個div的高度在IE6中被撐開了,那是因為IE6下設置高度相當於最小高度,而ff下設置多少就是多少,所以IE6會撐開,解決的方法是給div加個overflow:hidden;