DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> WEB網站前端 >> 前端技巧 >> CSS中浏覽器對尺寸和寬高解釋差異的解決方法
CSS中浏覽器對尺寸和寬高解釋差異的解決方法
編輯:前端技巧     
先看一個例子

復制代碼代碼如下:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ />
<title>無標題文檔</title>
<style>
#m{height:300px;width:300px;background:#ccc}
#a{float:left;height:100px;width:100px;background:#f00;}
#b{float:left;height:100px;*height:110px;_height:120px;width:100px;background:#0f0;}
#c{clear:both;height:100px;width:100px;*width:100px;_width:120px;background:#00f;}
</style>
</head>
<body>
<div id=”m”>
<div id=”a”></div>
<div id=”b”></div>
<div id=”c”></div>
</div>
</body>
</html>

在這裡,height我分別定義了三個,
第一個正常定義,在所有浏覽器中都會生效;
第二個定義在前邊加了一個*號,這個在IE6,IE7中會正常識別為height屬性,但是火狐和IE8會認為這是一個錯誤語法,被忽略,而根據先後執行的順序,在IE6和IE7中帶*號的height被執行,那麼第一個正常height失效(或者說被覆蓋);
第三個height在前邊加了一個下劃線,下劃線只有IE6認為是有效的height屬性,而IE7 IE8和火狐都視為”_height”屬性是一個不存在的屬性,所以不予執行,而IE6則將其執行。這樣前兩個height在IE6中時就被帶下劃線的height覆蓋。

那麼,通過這樣一個例子,您應該了解,如果我們想在不通的浏覽器中分別設置一個元素不通的高度的時候,就可以使用 * 和 _ 兩個符號來協助定義。同時我們也了解了,微軟是一個對錯誤容忍度多高的企業呀!.呵呵。

不過,如果把這個例子的前邊兩行文檔類型和命名空間的聲明取消掉的話 帶下劃線的height也會被正常顯示。

width的設置是相同的。

我們在實際的工作中,更多的會遇到浏覽器們對margin屬性解釋的不一樣,那麼這時星號和下劃線就能夠幫上大忙。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved