HTMLElement.offsetParent(offsetLeft和offsetTop参照offsetParent的内边距边界)
IE7以上(不是火狐):
父级没有定位:
本身没有定位:
==> offsetParent:body
本身定位为:absolute/relative:
==> offsetParent:body
父级有定位:
本身没有定位:
==> offsetParent:定位父级
本身定位为:absolute/relative:
==> offsetParent:定位父级
本身定位为: fixed
==> offsetParent: null
火狐
父级没有定位:
本身没有定位:
==> offsetParent:body
本身定位为: absolute/relative:
==> offsetParent:body
本身定位为:fixed
==> offsetParent:body
父级有定位:
本身没有定位:
==> offsetParent:定位父级
本身定位为: absolute/relative:
==> offsetParent:定位父级
本身定位为:fixed
==> offsetParent:body
IE7以下:
父级没有定位:
本身没有定位:
==>offsetParent:body
本身定位为absolute/relative
==>offsetParent:body
本身定位为fixd
==>offsetParent:null
父级有定位:
本身没有定位:
==>offsetParent:定位父级
本身定位为absolute/relative
==>offsetParent:定位父级
本身定位为fixd
==>offsetParent:null
总结:
offsetParent(如果body和html直接的margin被清掉)
本身定位为fixed:
==> offsetParent: null( IE7以上(不是火狐) )
本身定位不为fixed:
==> offsetParent:定位父级
haslayout
IE7以下,如果当前元素的某个父级触发了haslayout,
那么offsetParent就会指向到这个layout特性的父结点上
拓展 :
offsetWidth,offsetHeight ==> border-box
clientWidth,clientHeight ==> padding-box
注意:
window.onload = function(){
//根标签的clientWidth(document.documentElement.clientWidth)并不是可视区域的宽度,而是视口的宽度
var w = document.documentElement.clientWidth;
var w2 = document.documentElement.offsetWidth;
console.log(w,w2);
}
在IE10及IE10以下 , 根标签的 clientWidth 和 offsetWidth 统一被指定为视口的宽度。
HTMLElement.offsetParent(offsetLeft和offsetTop参照offsetParent的内边距边界)的更多相关文章
- offsetleft、offsetTop、offsetParent的兼容性问题
先来看看offsetParent返回的是什么值 ele.offsetParent返回的是ele元素最近的并且是定位过(relative,absolute)的父元素,如果没有父元素或者是父元素中没有一个 ...
- 简单理解offsetleft、offsetTop、offsetParent
先来看看offsetParent返回的是什么值 ele.offsetParent返回的是ele元素最近的并且是定位过(relative,absolute)的父元素,如果没有父元素或者是父元素中没有一个 ...
- 【JavaScript】全面解析offsetLeft、offsetTop
假设 obj 为某个 HTML 控件.obj.offsetLeft 指 obj 距离左方或上层控件的位置,整型,单位像素. obj.offsetRight 指 obj 距离右方或上层控件的位置,整型, ...
- 盒子 offsetLeft、offsetTop、offsetWidth、getBoundingClientRect等属性解释
offsetLeft 获取的是忽略 margin 当前元素距离上一级父节点(有没有设置position,有的话依据父节点,没有的话依据页面最左端这时候不管滚动条移到哪) 当前元素向左的位置 记住它会将 ...
- offsetLeft与offsetTop详解
offsetLeft与offsetTop使用方法一样,只是一个是找距离定位父级(position:relative)左边的距离,一个是找距离定位父级上边的距离 没有定位则找body,我们还是看看ie7 ...
- js中的offsetParent,offsetLeft,offsetTop及jquery的offset(),position()比较
1.offsetParent 元素的offsetParent并不是元素的父元素,判断元素的offsetParent要根据以下情况: 1)当DOM结构层次中的元素均没有进行css定位(设置positio ...
- 1.offsetParent,offsetLeft,offsetTop
offsetParent <!doctype html> <html> <head> <meta charset="utf-8"> ...
- 通过一个实例理解 offsetLeft,offsetTop; offsetWidth , offsetHeight
obj.offsetTop 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算上侧位置,整型 obj.offsetLeft 指 obj 相对于版面或由 offsetParen ...
- 【转】获取到元素的 offsetLeft 、offsetTop属性不正常的解决方法。
原地址:http://hi.baidu.com/huidust520/item/85da006981a6c635ad3e834e 我在工作中遇到个问题: 在ie7下和360浏览器下获取到的 offs ...
随机推荐
- ASP.NET MVC模块化开发——动态挂载外部项目
最近在开发一个MVC框架,开发过程中考虑到以后开发依托于框架的项目,为了框架的维护更新升级,代码肯定要和具体的业务工程分割开来,所以需要解决业务工程挂载在框架工程的问题,MVC与传统的ASP.NET不 ...
- javascript初学笔记
基本语句 赋值条件循环语句 javascript异常处理语句 trycatchfinally语句 Error对象 throw语句 函数 定义 调用 嵌套函数 函数的嵌套定义 内置函数 匿名函数和Fun ...
- ssh配置公钥私钥登录服务器
原理 密码的方式的即时认证的方式 .而公私钥 是在服务器保存一份已经通过认证的加密串,登录时通过这个加密串去认证. 公钥是可以传播的,私钥只能在自己的本地 公私钥的工作原理, 可以参考这篇文章: SS ...
- 51 nod 1212 无向图最小生成树
http://www.51nod.com/Challenge/Problem.html#problemId=1212 代码 #include<bits/stdc++.h> using na ...
- The Number of Inversions
For a given sequence A={a0,a1,...an−1}A={a0,a1,...an−1}, the number of pairs (i,j)(i,j) where ai> ...
- VScode usage
Common settings editor.minimap.enabled //close the preview workbench.editor.show tabs // show f ...
- [CF269B] Greenhouse Effect - dp
给出 N 个植物,每个植物都属于一个品种,共计 m 个品种,分落在不同的位置上(在一个数轴上,而且数轴是无限长度的),保证读入的位置是按照升序读入的. 现在我们可以进行一个操作:取任意一个位置上的植物 ...
- [APIO2010] 回文串 - 回文自动机
经典题吧 我觉得我要换个板子,这结构体板子真TM不顺手 #include <bits/stdc++.h> using namespace std; const int N = 2e6 + ...
- pdo一次插入多条数据的2种实现方式
pdo一次插入多条数据的2种实现方式: **** 1.一个sql插入多个值,防注入处理放在获取到值的时候使用htmlspecialchars(addslashes($params )); try{ f ...
- C++面向对象编程实例
实例一.四位运算符操作 main.cpp. #include <iostream> #include "operator_1.h" #include <stdio ...