欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

offsetParent 算法分析

 更新時間:2010年04月05日 00:14:19   作者:  
以下部分內(nèi)容翻譯自 W3C 的 CSSOM View Module,W3C 工作草案 2008年2月22日。

當(dāng)調(diào)用元素 A 的 offsetParent 屬性時,必須按以下算法返回元素。

以下任一條件為真時,返回 null,并停止本算法。
A 是根元素。
A 是 HTML 的 body 元素。
元素 A 的 position 屬性計(jì)算值是 fixed。注 1
如果 A 是 HTML 元素 area,并且在其上級元素鏈中有 HTML 元素 map,返回上級元素鏈中距 A 最近的 HTML 元素 map,并停止本算法。注 2
如果以下任一條件為真時,返回距 A 最近的符合下述條件的上級元素,并停止本算法。
上級元素的 position 屬性計(jì)算值不是 static。注 3
上級元素是 HTML 的 body 元素。注 4
A 的 position 屬性計(jì)算值是 static,上級元素是 td、th 或 table。
返回 null。
前面已經(jīng)提到,以上是工作草案的內(nèi)容,所以與現(xiàn)行的瀏覽器不一定一致,注釋如下:

注 1 Firefox 不適用;IE 6 不適用;DOCTYPE 使 IE 7 不支持 fixed 時不適用(以下簡稱 IE 6 模式)。
注 2 Firefox 不適用。
注 3 上級元素的 position 屬性計(jì)算值是 fixed,并且 IE 6 或者 IE 6 模式不適用。
注 4 IE 7 模式中,如果元素的 position 屬性計(jì)算值是 absolute 或 relative,返回元素 HTML,而不是 BODY。
總結(jié)

由此看出,獲得 offsetParent 在各個瀏覽器中,各個瀏覽器的各個版本中,同一版本的不同模式中,都有不同的算法,實(shí)在有些麻煩。所以還是建議將其理解為通過 offsetParent 循環(huán)和 offsetLeft、offsetTop 可以獲得控件在瀏覽器中的絕對位置即可。

但慶幸的是有一種常見布局在各種瀏覽器中 offsetParent 是一樣的,那就是:外層元素 div 的 position 計(jì)算值是 relative、absolute 時,內(nèi)層元素 div 的 offsetParent 總是外層元素 div。

相關(guān)文章

  • document.all的一個比較完整的總結(jié)及案例

    document.all的一個比較完整的總結(jié)及案例

    document.all想必學(xué)習(xí)javascript的同學(xué)們都很了解吧,本文主要是針對一些剛?cè)腴T的童鞋們做一下有關(guān)document.all的相關(guān)總結(jié),感興趣的朋友可以了解下,或許本文對你有所幫助
    2013-01-01
  • 詳解JavaScript 為什么要有 Symbol 類型?

    詳解JavaScript 為什么要有 Symbol 類型?

    這篇文章主要介紹了JavaScript 為什么要有 Symbol 類型,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 淺談JavaScript 標(biāo)準(zhǔn)對象

    淺談JavaScript 標(biāo)準(zhǔn)對象

    下面小編就為大家?guī)硪黄獪\談JavaScript 標(biāo)準(zhǔn)對象。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • js之onload事件的一點(diǎn)使用心得

    js之onload事件的一點(diǎn)使用心得

    window.load和window.onload的意思并不只是頁面加載完就執(zhí)行,那要看你怎么用了,下面做了示例為大家介紹下,感興趣的朋友可以參考下
    2013-08-08
  • 深入理解JavaScript 函數(shù)

    深入理解JavaScript 函數(shù)

    下面小編就為大家?guī)硪黄钊肜斫釰avaScript 函數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 基于JavaScript實(shí)現(xiàn)繼承機(jī)制之構(gòu)造函數(shù)方法對象冒充的使用詳解

    基于JavaScript實(shí)現(xiàn)繼承機(jī)制之構(gòu)造函數(shù)方法對象冒充的使用詳解

    我們知道JavaScript是面向?qū)ο蟮哪_本語言,那么既然是面向?qū)ο螅^承一定是必不可少的了。JavaScript的核心是ECMAScript,JavaScript繼承機(jī)制的實(shí)現(xiàn)其實(shí)就是ECMAScript繼承機(jī)制的實(shí)現(xiàn)
    2013-05-05
  • 簡述JavaScript對傳統(tǒng)文檔對象模型的支持

    簡述JavaScript對傳統(tǒng)文檔對象模型的支持

    這篇文章主要介紹了簡述JavaScript對傳統(tǒng)文檔對象模型的支持,是JS學(xué)習(xí)進(jìn)階中的重要知識,需要的朋友可以參考下
    2015-06-06
  • 淺談js閉包理解

    淺談js閉包理解

    這篇文章主要介紹了js閉包理解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • slice函數(shù)的用法 之不錯的應(yīng)用

    slice函數(shù)的用法 之不錯的應(yīng)用

    slice函數(shù)的用法 之不錯的應(yīng)用...
    2006-12-12
  • javascript工具庫代碼

    javascript工具庫代碼

    這段時間用到的javascript工具庫 工作中,自己邊用邊寫的,需要的朋友可以參考下
    2012-03-03

最新評論