一、获取css的大小

1.第一种通过内联样式

    var box = document.getElementById('box');
var w = box.style.width;
var h = box.style.height;

2.通过计算元素的大小(但是在ie情况下有一个问题,那就没写widht和height的css就返回auto);

    var style = window.getComputedStyle ? window.getComputedStyle(box,null) : null || box.currentStyle;
var w = style.width;
var h = style.height;

3.通过CSSStyleSheet对象中的cssRules(或rules)属性获取元素大小(但是无法获得计算的样式)

    var sheet = document.styleSheets[];
var rule = (sheet.cssRules || sheet.rules)[];
var w = rule.style.width;
var h = rule.style.height;

以上三种方法都不行。

二、获取实际的大小

1.clientWidth和clientHeight

    var w = box.clientWidth;
var h = box.clientHeight;

说明:padding和scroll变动,才有变化

2.scrollWidth 和box.scrollHeight;

    var w = box.scrollWidth;
var h = box.scrollHeight;

说明,1)border变化,不同浏览器有不同变化2)padding变化,有变化3)margin变化,无变化

3.offsetWidth和offsetHeight

    var w = box.scrollWidth;
var h = box.scrollHeight;

说明,padding和border有变动,才有变化

三、获取元素周变的距离(原本只能从左边和上边)

1.clientLeft 和 clientTop
这组属性可以获取元素设置了左边框和上边框的大小。

    var l = box.clientLeft;
var t = box.clientTop;

2.获取相对父级元素的位置

    var l = box.offsetLeft;
var t = box.offsetTop;
var parent = box.offsetParent; //获取伏击元素,返回body

说明,如果没有position:absolute;如果每个浏览器有不同解释

那么获取多层中的元素到body或html的距离,代码如下:

    function offsetLeft(element){
var left = element.offsetLeft;
var parent = element.offsetParent; while(parent!== null){
left += parent.offsetLeft;
parent = parent.offsetParent;
}
return left;
}

3.

//这组属性可以获取滚动条被隐藏的区域大小,也可设置定位到该区域。
box.scrollTop; //获取滚动内容上方的位置
box.scrollLeft; //获取滚动内容左方的位置

获取dom元素的宽度和高度的更多相关文章

  1. javascript中获取dom元素的高度和宽度

    javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网 ...

  2. javascript中获取dom元素高度和宽度

    javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网 ...

  3. js | javascript中获取dom元素的高度和宽度

    javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网 ...

  4. vue获取dom元素高度的方法

    获取高度: <div ref="自定义名称" > </div>要在钩子mounted里面dom结构生成后去获取dom的高度,宽度,修改样式等操作!!! mo ...

  5. jQuery获取或设置元素的宽度和高度

    jQuery获取或设置元素的宽度和高度: 可使用以下3种方法: 1,jQuery width() 和 height() 方法: 2,innerWidth() 和 innerHeight() 方法: 3 ...

  6. 使用jQuery获取元素的宽度或高度的几种情况

    今天说说使用jQuery获取元素大小的遇到几种情况 使用jQuery获取元素的宽度或高度的有几种情况: 1.使用width(),它只能获取当前元素的内容的宽度: 2.使用innerWidth(),它只 ...

  7. 获取DOM元素位置和尺寸大小

    JavaScript获取DOM元素位置和尺寸大小 在一些复杂的页面中经常会用JavaScript处理一些DOM元素的动态效果,这种时候我们经常会用到一些元素位置和尺寸的计算,浏览器兼容性问题也是不可忽 ...

  8. angular学习笔记-angular中怎么获取dom元素

    步骤分解: 第一步:给要获取的元素一个ng-model变量,并且绑定事件啦! <div class="home" ng-model="dirName" n ...

  9. 【提取元素的值 】【追加文本append】【删除文本remove】【class的操作】【读取元素的宽度,高度】

    1.取值 $("#test").text()                                    //取id=test里面的文字 $("#test&qu ...

随机推荐

  1. Java虚拟机(JVM)中的内存设置详解

    在一些规模稍大的应用中,Java虚拟机(JVM)的内存设置尤为重要,想在项目中取得好的效率,GC(垃圾回收)的设置是第一步. PermGen space:全称是Permanent Generation ...

  2. js的url中传递中文参数乱码,如何获取url中参数问题

    一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面Javascript代码: <script type=”text/javascript ...

  3. 使用javabean连接数据库时遇到的问题

    1.whitespace问题.是便签了每空格如: 就会出现下面的问题.contentType前每空格.空格后就解决了 2. 这是部署问题,关闭,重新部署 追问 怎么部署? 回答 1.选中项目 F5(e ...

  4. VS2012网布网站与IIS配置

    一 VS发布 1首先是 点击自己创建的 web项目 ,右键发布 2  在之后出现的界面中选择配置文件 , 选择或导入发布配置文件,下拉框,选择新建 跳转到下一步 3 在连接界面中 在发布方法中选择文件 ...

  5. Reset RequiredFieldValidator 重置 验证控件

    <td style="width:100px;">姓名<span class="must_star">*</span>< ...

  6. 6. Configure Compute services

    Controller Node: 1. sudo apt-get install nova-api nova-cert nova-conductor nova-consoleauth nova-nov ...

  7. Java实战equals()与hashCode()

    一.equals()方法详解 equals()方法在object类中定义如下: 代码 public boolean equals(Object obj) { return (this == obj); ...

  8. [学习笔记]ESXI学习记录

    vmware workstation环境下,可以为虚拟机添加多块网卡.在虚拟机上单击右键,settings 界面,选中network adapter,然后通过custom选项,可以将多个不同的虚拟机使 ...

  9. jQuery+CSS 简单代码实现遮罩层( 兼容主流浏览器 )

    /* ** jQuery版本:jQuery-1.8.3.min.js ** 浏览器:Chrome( v31.0.1650.63 m ),IE11,Firefox( v32.0.1 ),IETester ...

  10. Bootstrap学习笔记1

    Bootstrap在线手册 http://v3.bootcss.com,这里有详细的说明.参考.示例. Bootstrap为许多前端常用的功能都做了封装.预定义,可以直接使用. Bootstrap支持 ...