zoukankan      html  css  js  c++  java
  • JS:offsetParent

    在td中的元素会把第一个绝对/相对定位的hierarchy parent当作offsetParent,如果没有找到需要分三种情况讨论

      一,如果该元素没有绝对/相对定位,则会把td当作offsetParent

      二,如果该元素绝对/相对定位并且table没有绝对/相对定位,则会把body当作offsetParent

      三,如果该元素绝对/相对定位并且table绝对/相对定位,则会把table当作offsetParent

    看一下示例代码

    1.<BODY >
    <TABLE BORDER=1 ALIGN=right>
       <TR>
         <TD ID=oCell><div id="parentdiv" style="position:relative" >parentdiv<div id="sondiv">sondiv</div></div></TD>
       </TR>

    </TABLE>

    </BODY>



    运行结果:parentdiv.offsetParent.tagName IS "body"

             sondiv.offsetParent.id     IS "parentdiv"

    2.<BODY >
    <TABLE BORDER=1 ALIGN=right>
       <TR>
         <TD ID=oCell><div id="parentdiv" style="position:relative" >parentdiv<div id="sondiv"  style="position:relative">sondiv</div></div></TD>
       </TR>

    </TABLE>

    </BODY> 


    运行结果: parentdiv.offsetParent.tagName IS "body"

              sondiv.offsetParent.id     IS "parentdiv"

    3.<BODY>
    <TABLE BORDER=1 ALIGN=right>
       <TR>
         <TD ID=oCell><div id="parentdiv" >parentdiv<div id="sondiv"  style="position:relative">sondiv</div></div></TD>
       </TR>

    </TABLE>

    </BODY> 



    运行结果:parentdiv.offsetParent.tagName IS "TD"

              sondiv.offsetParent.tagName    IS "body"

    4.<BODY >
    <TABLE BORDER=1 ALIGN=right>
       <TR>
         <TD ID=oCell><div id="parentdiv" >parentdiv<div id="sondiv">sondiv</div></div></TD>
       </TR>

    </TABLE>

    </BODY> 



    运行结果: parentdiv.offsetParent.tagName IS "TD"

              sondiv.offsetParent.tagName    IS "TD"

    5.<BODY>
    <TABLE BORDER=1 ALIGN=right style="position:relative">
       <TR>
         <TD ID=oCell><div id="parentdiv" style="position:relative" >parentdiv<div id="sondiv"  style="position:relative">sondiv</div></div></TD>
       </TR>

    </TABLE>

    </BODY>


    运行结果: parentdiv.offsetParent.tagName IS "Table"

              sondiv.offsetParent.tagName IS "parentdiv"

    原文出处:http://villain564.javaeye.com/blog/370893

  • 相关阅读:
    值得收藏的146条经典民间偏方[转]
    删除暴风文件夹内的stormliv.exe
    【转】VLAN技术浅谈
    [转载]双击.dsw文件时另开VC6.0,而不会关掉原来已打开的项目的解决办法(转载)
    JVM系列1:Java内存区域
    并发系列3:Lock锁以及核心类AQS
    并发系列1:并发基础知识
    JVM系列2:垃圾收集器与内存分配策略
    JVM系列3:类加载机制
    源码解析之AQS源码解析
  • 原文地址:https://www.cnblogs.com/purplefox2008/p/1821363.html
Copyright © 2011-2022 走看看