国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

詳解IE瀏覽器的haslayout屬性及相關兼容性問題解決

2024-07-11 08:32:42
字體:
來源:轉載
供稿:網友

IE,這個令所有網站設計人員討厭,但又不得不為它工作的瀏覽器。不論是6、7還是8,它們都有一個共同的渲染標準haslayout,所以haslayout 是一個非常有必要徹底弄清除的概念。大多 數IE下的顯示錯誤,就是源于它。

什么是Layout呢?
"Layout" 是 IE 的一個私有屬性,并不是W3C標準。它決定了一個對象(就是一個標簽div、li等)在內容中如何顯示、與周圍對象的位置關系、以及怎樣響應程序或用戶產生的事件。

這個屬性可以被一些css強制激活。一些HTML標簽默認具有haslayout。
PS:一個對象的layout屬性被激活,它的具體表現就是haslayout=true。我們可以用IE Developer Toolbar工具看到被激活的對象帶有"haslayout = -1"的屬性。

下面這些標簽默認擁有haslayout屬性:

XML/HTML Code復制內容到剪貼板
  1. <html>, <body>   <table>, <tr>, <th>, <td>  
  2. <img>   <hr>  
  3. <input>, <button>, <select>, <textarea>, <fieldset>, <legend>   <iframe>, <embed>, <object>, <applet>  
  4. <marquee>  

你可能就問:微軟干嘛要設layout這個東西呢?當一個對象的layout被激活時,它以及它的子對象的定位和尺寸計算將獨立進行,不受附近對象 的干擾。也就是說它擁有一個獨立的布局(layout)。因此瀏覽器要花費更多的代價來處理擁有haslayout的對象。為了提高性能,微軟增加了 layout這個IE私有的概念。

怎樣激活layout?
下面列出的css屬性可以激活對象的layout:

CSS Code復制內容到剪貼板
  1. position: absolute  

設置絕對定位可能會引發新的問題。

CSS Code復制內容到剪貼板
  1. float: left|rightright  

IE下的浮動也會產生一些莫名其妙的問題。

CSS Code復制內容到剪貼板
  1. display: inline-block  

當一個內聯元素需要haslayout屬性時就需要用它,但是IE本身不支持inline-block的,只是表現得像標準里說的inline-block。
1.width: 除'auto'外的任意值
優先考慮使用該屬性。
2.height: 除'auto'外的任意值
對 IE6 及更早版本來說很常用,該方法被稱為霍莉破解(Holly hack),即設定這個元素的高度為 1% (height:1%;)。但是要注意,當這個元素的 overflow 屬性被設置為 visible 時,這個方法就失效了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 滨海县| 石门县| 桐柏县| 浙江省| 江达县| 辽宁省| 九台市| 邵阳县| 晋城| 砀山县| 舟曲县| 明水县| 安阳市| 梁山县| 厦门市| 龙井市| 乌拉特前旗| 丰县| 莆田市| 永安市| 堆龙德庆县| 资溪县| 麻栗坡县| 湖北省| 涿州市| 铜陵市| 汉沽区| 沙河市| 台中市| 乐亭县| 乳源| 景宁| 湖南省| 鹤山市| 镇平县| 青铜峡市| 黑龙江省| 海门市| 辛集市| 苍南县| 三门县|