IE和Nascape中CSS顯示差別
本文和大家重點討論一下CSS在IE和Nascape的顯示差別,相同的CSS代碼被不同的瀏覽器解釋后會生成不同的效果,現在我們可以用所謂的符合標準的瀏覽器獲得更好的效果。然而,顯示效果的差別還是無法避免。
CSS在IE和Nascape的顯示差別
Web建造者要對付的最棘手情況之一是:相同的CSS代碼被不同的瀏覽器解釋后會生成不同的效果。在以前,各種不同的瀏覽器生成極其不同的頁面是隨處可見的,而現在我們可以用所謂的符合標準的瀏覽器獲得更好的效果。然而,顯示效果的差別還是無法避免。
當前處于領導地位的一些瀏覽器在處理浮動效果上就存在著這樣的差別。如果有人想創建一個能夠隨著瀏覽器窗口的大小變化而動態更改大小多欄的布局,那么這將是一個特別麻煩的問題。
簡單的沒有浮動的頁面
假設你有兩個div——div#one和div#two,它們都有固定的寬度。如果沒有浮動或者絕對的定位,這些div就會以一個摞在另一個之上的形式放在瀏覽器窗口的左側(如例A所示),因為標準的頁面安排順序是從左到右,從上到下,塊級元素(block-levelelement)都會在前一個元素下面緊接著開始一個新的行。
下面是所有例子都需要的一段HTML:
- <body>
- <dividdivid="one">
- Portsidetext...
- </div>
- <dividdivid="two">
- Secondcolumntext...
- </div>
- </body>
下面的CSS代碼用于基本的、不帶浮動的版本:
- div#one{
- width:150px;
- margin:0px;
- background-color:red;
- }
- div#two{
- width:300px;
- padding:0px10px5px10px;
- margin:0px;
- background-color:silver;
- }
基本的浮動
當你創建一個包含有float:left或者float:right屬性的CSS樣式,并把它應用到諸如div標簽這樣的塊級元素上的時候,div就會從文檔的普通文本安排順序里被刪除,并被強制放到包含元素(containingelement)的左側或者右側。如果包含元素是一個主體標簽,那么div就會浮動到瀏覽器窗口的一側。否則,浮動的div就會移動到包含div的邊緣,而以前是不會這樣的。
如果你有一個以上的浮動元素,那么第二個和隨后的浮動元素會緊接著***個排成一條,其排列方式非常像文本里的一行字母。一系列浮動元素會對齊成一行,直到撐滿瀏覽器窗口的整個寬度,然后換到下一行,就像段落里的文字那樣排列。
【編輯推薦】