IE6識別*和_,不識別!important
IE7識別*,不識別_,識別!imortant
而firfox兩個都不識別,識別!important
架構用990,非架構用1000
1、設了float:left的元素允許它的右邊存在任何元素同行顯示,不論是內嵌元素還是塊元素。但它的左邊還是不允許存在任何元素與之同行顯示,哪怕其它的元素的代碼在前,除非也給前面的元素加上float:left後,才允許同行顯示。
設了display:inline的元素,允許它的前後存在其它的內嵌元素同行顯示。關於代碼在其前面的塊元素之同行顯示,則要讓前面的元素浮動(不管是左還是右浮動)或設為display:inline,還有代碼在後面的是塊元素(管它有沒有浮動,是左浮動還是右浮動),均不能與之同行,除非設為display:inline。
另外,給區塊層級元素設上display:inline是解決有名的IE6中雙倍浮動的利器。
2、float 能使區塊層級元素變成行間元素!
3、.行間元素只有左右外邊距,無上下外邊距,且左右外邊距不會合并!只有普通文檔流中塊框的垂直外邊距才會發生外邊距合并。行內框、浮動框或絕對位置之間的外邊距不會合并。
4、IE6對BOX理解的差異導致設為float的div在ie下margin的值會加倍(區塊層級元素margin都會加倍,且float方向和margin同方向時),如:
#box{ float:left; width:100px; margin:0 0 0 50px; }
//這種情況之下IE會產生100px的距離
解決方案如下:
#box{ float:left; width:100px; margin:0 0 0 50px; display:inline;}
//只需給其加display:inline屬性使使浮動忽略,即可解決
5、
float元素的寬度之和要小於100%
6. float元素務必指定width屬性
很多瀏覽器在顯示未指定width的float元素時會有bug。所以不管float元素的內容如何,一定要為其指定width屬性。
另外指定元素時盡量使用em而不是px做單位。
7. float元素不能指定margin和padding等屬性
IE在顯示指定了margin和padding的float元素時有bug。因此不要對float元素指定margin和padding屬性(可以在float元素內部嵌套一個div來設定margin和padding)。也可以使用hack方法為IE指定特別的值。