【IE6】浮動雙倍邊距bug:
問題 :同時使用“float”和“margin”,則margin在IE6下實際顯示為雙倍。
解決:給浮動容器定義display:inline
【IE6】width和height值 = 最小值
問題:IE6不認(rèn)min-height,但hight=min-height。若只設(shè)定min-height,IE6下等于沒有高度;若只設(shè)定高度,IE6會自動將內(nèi)容撐大。標(biāo)準(zhǔn)瀏覽器中固定高度值的容器是不會象IE6里那樣被撐開的。
解決:
height: auto!important; /*使其他瀏覽器高度自適應(yīng)*/
height: 100px; /*針對IE6 最小高度*/
min-height: 100px; /*針對其他瀏覽器最小高度*/
【IE6】為什么無法定義1px左右高度的容器?
問題:這是因為默認(rèn)的行高造成的
解決:(選擇一種)
①、overflow:hidden;
②、zoom:0.08;
③、line-height:1px;
【IE6】mirror margin bug
問題:當(dāng)外層元素內(nèi)有float元素時,外層元素如定義margin-top:14px,將自動生成margin-bottom:14px。 padding也會出現(xiàn)類似問題
解決:外層元素設(shè)定border 或 設(shè)定float。
【IE6】浮動外層寬度問題
問題:float元素如沒定義寬度,內(nèi)部如有div定義了height或zoom:1,這個div就會占滿一整行,即使你給了寬度。
解決:float元素如果作為布局用或復(fù)雜的容器,都要給個寬度。
【IE7、FF】高度不能自適應(yīng)
問題:父層div不能自適應(yīng)子層div的高
原因:子層設(shè)置了浮動,而父層沒有浮動
解決:(按實際情況選擇一種)
①、設(shè)置父層div浮動
②、取消子層div浮動
③、在橫向浮動的多個子對象后加一個空div,并 設(shè)置clear:both;
④、為父層設(shè)置:{overflow: auto; _height:1%;} 前者針對FF、IE7;后者針對IE6
【IE7、FF】橫向上的撐破容器問題
問題:如果float 容器未定義寬度,ff下內(nèi)容會盡可能撐開容器寬度,ie下則會優(yōu)先考慮內(nèi)容折行。
解決:內(nèi)容可能撐破的浮動容器需要定義width。
【All】文字本身的大小不兼容
問題:同樣是font-size:14px的宋體文字,在不同瀏覽器下占的空間是不一樣的。
ie下實際占高16px,下留白3px;ff 下實際占高17px,上留白1px,下留白3px;opera下就更不一樣了。
解決:
給文字設(shè)定 line-height 。確保所有文字都有默認(rèn)的 line-height 值。這點很重要,在高度上我們不能容忍1px 的差異。
【All】clear層應(yīng)該單獨使用
問題:也許你為了節(jié)省代碼把clear屬性直接放到下面的一個內(nèi)容層,這樣有問題,不僅僅是ff和op下失去margin效果,ie下某些margin值也會失效
解決:<div class="clear"></div>放在需要清除浮動的層后面
【All】怎樣才能讓層顯示在flash上呢?
解決:<param name="wmode" value="transparent" />
【All】怎樣使一個層垂直居中于瀏覽器中?
解決:
<style type="text/css">
<!--
div {
position:absolute;
top:50%;
left:50%;
margin:-100px 0 0 -100px;
width:200px;
height:200px;
border:1px solid red;
}
-->
</style>
【All】單像素外框線表格
解決:
table{ border-collapse:collapse; }
td{ border:#000 solid 1px; }