dir*_*lik 5 html javascript css
的
HTMLElement.offsetParent只读属性返回到位于含有元件,其是最接近的(最近的在包含层次结构)的对象的引用.如果元素未定位,则offsetParent返回最近的表,表格单元格或根元素
.offsetParent如果元素未定位(即position: static),为什么返回最近的表?为什么不.offsetParent总是返回最近的定位元素?
我知道我的问题的答案是because standard says so,但为什么标准的开发人员决定,该解决方案的目的是什么?
这些文档充其量是误导性的,或者是误导性的。
新版本更加清晰:
定位祖先是:
- 具有非静态位置的元素,或者
td,th,table如果元素本身是静态定位的。
因此,如果最近的、或.offsetParent之前有一个,是否“返回最近的定位元素” :tdthtable
console.log("in positioned", target1.offsetParent);
console.log("in static", target2.offsetParent);Run Code Online (Sandbox Code Playgroud)
.positioned { position: relative }Run Code Online (Sandbox Code Playgroud)
<table>
<tbody>
<tr>
<td>
<div class=positioned>
<span id=target1>content</span>
</div>
</td>
<td>
<div class=static>
<span id=target2>content</span>
</div>
</td>
</tr>
</tbody>
</table>Run Code Online (Sandbox Code Playgroud)
至于为什么他们决定将这些元素视为定位元素,即使它们的计算结果position是,这肯定是因为它们的位置实际上是由与static规则"static"不匹配的规则决定的。
| 归档时间: |
|
| 查看次数: |
159 次 |
| 最近记录: |