最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解IE瀏覽器的haslayout屬性及相關(guān)兼容性問(wèn)題解決

盛世麒麟   發(fā)布時(shí)間:2016-07-08 11:13:16   作者:kingring   我要評(píng)論
haslayout是IE瀏覽器專有的屬性,然而這個(gè)屬性卻同樣會(huì)給不同版本的IE帶來(lái)浮動(dòng)問(wèn)題等一些列兼容性上面的麻煩...這里我們就來(lái)詳解IE瀏覽器的haslayout屬性及相關(guān)兼容性問(wèn)題解決

IE,這個(gè)令所有網(wǎng)站設(shè)計(jì)人員討厭,但又不得不為它工作的瀏覽器。不論是6、7還是8,它們都有一個(gè)共同的渲染標(biāo)準(zhǔn)haslayout,所以haslayout 是一個(gè)非常有必要徹底弄清除的概念。大多 數(shù)IE下的顯示錯(cuò)誤,就是源于它。

什么是Layout呢?
"Layout" 是 IE 的一個(gè)私有屬性,并不是W3C標(biāo)準(zhǔn)。它決定了一個(gè)對(duì)象(就是一個(gè)標(biāo)簽div、li等)在內(nèi)容中如何顯示、與周圍對(duì)象的位置關(guān)系、以及怎樣響應(yīng)程序或用戶產(chǎn)生的事件。

這個(gè)屬性可以被一些css強(qiáng)制激活。一些HTML標(biāo)簽?zāi)J(rèn)具有haslayout。
PS:一個(gè)對(duì)象的layout屬性被激活,它的具體表現(xiàn)就是haslayout=true。我們可以用IE Developer Toolbar工具看到被激活的對(duì)象帶有"haslayout = -1"的屬性。

下面這些標(biāo)簽?zāi)J(rèn)擁有haslayout屬性:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <html><body>  
  2. <table><tr><th><td>  
  3. <img>  
  4. <hr>  
  5. <input><button><select><textarea><fieldset><legend>  
  6. <iframe><embed><object><applet>  
  7. <marquee>  

你可能就問(wèn):微軟干嘛要設(shè)layout這個(gè)東西呢?當(dāng)一個(gè)對(duì)象的layout被激活時(shí),它以及它的子對(duì)象的定位和尺寸計(jì)算將獨(dú)立進(jìn)行,不受附近對(duì)象 的干擾。也就是說(shuō)它擁有一個(gè)獨(dú)立的布局(layout)。因此瀏覽器要花費(fèi)更多的代價(jià)來(lái)處理?yè)碛衕aslayout的對(duì)象。為了提高性能,微軟增加了 layout這個(gè)IE私有的概念。

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

CSS Code復(fù)制內(nèi)容到剪貼板
  1. positionabsolute  

設(shè)置絕對(duì)定位可能會(huì)引發(fā)新的問(wèn)題。

CSS Code復(fù)制內(nèi)容到剪貼板
  1. floatleft|rightright  

IE下的浮動(dòng)也會(huì)產(chǎn)生一些莫名其妙的問(wèn)題。

CSS Code復(fù)制內(nèi)容到剪貼板
  1. displayinline-block  

當(dāng)一個(gè)內(nèi)聯(lián)元素需要haslayout屬性時(shí)就需要用它,但是IE本身不支持inline-block的,只是表現(xiàn)得像標(biāo)準(zhǔn)里說(shuō)的inline-block。
1.width: 除'auto'外的任意值
優(yōu)先考慮使用該屬性。
2.height: 除'auto'外的任意值
對(duì) IE6 及更早版本來(lái)說(shuō)很常用,該方法被稱為霍莉破解(Holly hack),即設(shè)定這個(gè)元素的高度為 1% (height:1%;)。但是要注意,當(dāng)這個(gè)元素的 overflow 屬性被設(shè)置為 visible 時(shí),這個(gè)方法就失效了。
3.zoom: 除'normal'外的任意值
又一個(gè)ie私有屬性,不兼容標(biāo)準(zhǔn)。zoom:1可以在測(cè)試或者不追求標(biāo)準(zhǔn)的情況下使用,效果不錯(cuò)。

CSS Code復(fù)制內(nèi)容到剪貼板
  1. writing-mode: tb-rl  

ie私有屬性,不推薦用。
IE7 還有一些額外的屬性:

1.min-height: (任意值)
2.max-height: (除 none 外任意值)
3.min-width: (任意值)
4.max-width: (除 none 外任意值)
5.overflow: (除 visible 外任意值)
6.overflow-x: (除 visible 外任意值)
7.overflow-y: (除 visible 外任意值)
8.position: fixed

重置haslayout
在沒(méi)有其它屬性激活layout的情況下,使用下面的css可以重置haslayout屬性:

1.width, height (設(shè)為 "auto")
2.max-width, max-height (設(shè)為 "none")(在 IE 7 中)
3.position (設(shè)為 "static")
4.float (設(shè)為 "none")
5.overflow (設(shè)為 "visible") (在 IE 7 中)
6.zoom (設(shè)為 "normal")
7.writing-mode (從 "tb-rl" 設(shè)為 "lr-t")
display 屬性的不同:當(dāng)用"inline-block"激活了haslayout 屬性時(shí),就算在一條獨(dú)立的規(guī)則中覆蓋這個(gè)屬性為"block"或"inline",haslayout 這個(gè)標(biāo)志位也不會(huì)被重置為 false。

把 mid-width, mid-height 設(shè)為它們的默認(rèn)值"0"仍然會(huì)賦予 hasLayout,但是 IE 7 卻可以接受一個(gè)不合法的屬性"auto"來(lái)重置 hasLayout。

觸發(fā) hasLayout 清除浮動(dòng)
樣例:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. haslayout-clear-float:{width:1px}  

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .haslayout-clear-float:{height:1px}  

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .haslayout-clear-float:{zoom:1}  

'Layout' 是 IE 的專有概念,它決定了元素如何對(duì)其內(nèi)容進(jìn)行定位和尺寸計(jì)算,與其他元素的關(guān)系和相互作用,以及對(duì)應(yīng)用還有使用者的影響。

'Layout' 可以被某些 CSS property(特性)不可逆的觸發(fā),而某些 HTML 元素本身就具有 layout 。

'Layout' 在 IE 中可以通過(guò) hasLayout 屬性來(lái)判斷一個(gè)元素是否擁有 layout ,如 object.currentStyle.hasLayout 。

'Layout' 是 IE 瀏覽器渲染引擎的一個(gè)內(nèi)部組成部分。在 IE 瀏覽器中,一個(gè)元素要么自己對(duì)自身的內(nèi)容進(jìn)行組織和計(jì)算大小, 要么依賴于包含塊來(lái)計(jì)算尺寸和組織內(nèi)容。為了協(xié)調(diào)這兩種方式的矛盾,渲染引擎采用了 'hasLayout' 屬性,屬性值可以為 true 或 false。 當(dāng)一個(gè)元素的 'hasLayout' 屬性值為 true 時(shí),我們說(shuō)這個(gè)元素有一個(gè)布局(layout),或擁有布局。

相關(guān)文章

  • 瀏覽器hack總結(jié) 詳細(xì)的瀏覽器兼容性的快速解決方法

    下面小編就為大家?guī)?lái)一篇瀏覽器hack總結(jié) 詳細(xì)的瀏覽器兼容性的快速解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起公司小編過(guò)來(lái)看看吧
    2016-06-16
  • HTML5的video標(biāo)簽的瀏覽器兼容性增強(qiáng)方案分享

    使用HTML5時(shí)就應(yīng)該考慮包括桌面以及移動(dòng)端的瀏覽器兼容問(wèn)題,特別是視頻方面瀏覽器對(duì)解碼的支持會(huì)有所不同,所以下面就來(lái)分享一個(gè)HTML5的video標(biāo)簽的瀏覽器兼容性增強(qiáng)方案分
    2016-05-19
  • 淺談各種瀏覽器下的CSS Hack兼容性寫(xiě)法

    這篇文章主要介紹了各種瀏覽器下的CSS Hack兼容性寫(xiě)法,CSS Hack大致可以分為內(nèi)部Hack和選擇器Hack以及HTML頭部引用Hack,需要的朋友可以參考下
    2016-03-14
  • CSS3中的Opacity多瀏覽器透明度兼容性問(wèn)題

    用來(lái)設(shè)定元素透明度的 Opacity 是CSS 3里的一個(gè)屬性。當(dāng)然現(xiàn)在還只有少部分瀏覽器支持,不過(guò)各個(gè)瀏覽器都有自己的私有屬性來(lái)支持,其中包括老版本的Mozilla和Safari
    2015-11-09
  • 火狐瀏覽器怎么切換到IE兼容模式?

    火狐瀏覽器怎么切換到IE兼容模式?有很多網(wǎng)頁(yè)其他瀏覽器打不開(kāi),但是用ie瀏覽器就可以打開(kāi),怎么設(shè)置成ie兼容模式呢?下面我們來(lái)看看火狐瀏覽器切換到IE兼容模式的詳細(xì)圖文
    2015-10-27
  • 淺談瀏覽器的兼容性(必看篇)

    下面小編就為大家?guī)?lái)一篇淺談瀏覽器的兼容性(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-07-25

最新評(píng)論

云霄县| 醴陵市| 长寿区| 扎鲁特旗| 荣成市| 巨野县| 黄平县| 漯河市| 井冈山市| 巢湖市| 内江市| 蓬莱市| 班玛县| 芜湖市| 综艺| 龙泉市| 哈密市| 集安市| 泸水县| 铜鼓县| 扶沟县| 儋州市| 余庆县| 神农架林区| 青川县| 得荣县| 台江县| 习水县| 阿鲁科尔沁旗| 祥云县| 金阳县| 莲花县| 剑川县| 长乐市| 龙井市| 福州市| 尉犁县| 上林县| 原阳县| 清河县| 定安县|