获取行间样式

style.height     //获取行间样式高度
xx.currentStyle.height //计算后的样式高度 IE低版本
getComputedStyle().height //获取计算后的样式高度(不支持padding) 谷歌高版本(只可读不可改)

设置行间属性

设置自定义属性
xx.setAttribute('index','i'); //属性名,属性值 获取自定义属性
xx.getAttribute('index');//得到属性值 删除自定义属性
xx.removeAttribute('index');

client系列(可视区域)

clientWidth、clientHeight //获取可视区域的宽高(支持padding,不支持border)
clientLeft//获取元素边框的左边框宽度
clientTop//获取元素边框的上边框宽度

offset系列(偏移量)

使用时候要有定位,而且设置初始值;如果没有父级定位会跟着父级走

offsetWidth/offsetHeight //获取容器宽高(在client的基础上,支持border)
offsetLeft //获取当前元素的左外边框到定位的父级左内边框的距离
//如果没有定位父级或者祖先级,那么就应该跟html走
offsetTop //指元素的边框的外边缘距离与已定位的父容器(offsetparent)的上边距离(不包括元素的边框和父容器的边框)
offsetaParent //定位父级
//(在没有任何定位的情况下它走的是body(在chrome中实测是走html))

scroll系列(滚动)

scrollWidth/scrollHeight //获取元素本身的宽高 (被内容撑开的尺寸,不管加不加固定尺寸,都会获取出来)
scrolltop //获取或设置一个元素的内容垂直滚动的像素数
scrollLeft //获取或设置一个元素的内容水平滚动的像素数

getBoundingClientRect() 获取元素位置

  • 获得页面中某个元素的左,上,右,下分别相对浏览器视窗的位置
  • 指DOM元素到浏览器可视范围的距离(不包含文档卷起的部分)
  • 返回一个object对象
  • 有left,top.right,bottom,width,height六个值
var box=document.getElementById('box');         // 获取元素

alert(box.getBoundingClientRect().top);         // 元素上边距离页面上边的距离

alert(box.getBoundingClientRect().right);       // 元素右边距离页面左边的距离

alert(box.getBoundingClientRect().bottom);      // 元素下边距离页面上边的距离

alert(box.getBoundingClientRect().left);        // 元素左边距离页面左边的距离

DOM盒子模型的更多相关文章

  1. javascript基础学习系列-DOM盒子模型常用属性

    最近在学习DOM盒子模型,各种属性看着眼花缭乱,下面根据三个系列来分别介绍一下: client系列 clientWidth :width+(padding-left)+(padding-right)— ...

  2. DOM盒子模型常用属性client,offset和scroll

    JS盒子模型属性 在JS中通过相关的属性可以获取(设置)元素的样式信息,这些属性就是盒子模型属性(基本上都是有关于样式的) 属性 值 client top/left/width/height offs ...

  3. 前端(十六)—— JavaScript盒子模型、JS动画、DOM、BOM

    JS盒子模型.JS动画.DOM.BOM 一.JS盒模型 1.width | height parseInt(getComputedStyle(ele, null).getPropertyValue(' ...

  4. CSS3与页面布局学习笔记(二)——盒子模型(Box Model)、边距折叠、内联与块标签、CSSReset

    一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...

  5. 23----2013.07.01---Div和Span区别,Css常用属性,选择器,使用css的方式,脱离文档流,div+css布局,盒子模型,框架,js基本介绍

    01 复习内容 复习之前的知识点 02演示VS创建元素 03div和span区别 通过display属性进行DIV与Span之间的转换.div->span 设置display:inline   ...

  6. CSS 设计彻底研究(三)深入理解盒子模型

    第三章 深入理解盒子模型 盒子模型是CSS控制页面的基础.需要清楚“盒子”的含义是什么,以及盒子的组成.此外,应该理解DOM的基本概念,以及DOM树是如何与一个HTML文档对应的,在此基础上充分理解“ ...

  7. js盒子模型

    1.js盒子模型 指的是通过js中提供的一系列的属性和方法,获取页面中元素的样式信息值 例: #box有很多自己的私有属性: HTMLDivElement.prototype->HTMLElem ...

  8. CSS Box Model 盒子模型

    1. 介绍 1.1 什么是 Box Model 在HTML中的每个element(元素)都可以看作一个矩形的盒子,矩形从内到外依次由元素的内容(content).内边距(padding).边框(bor ...

  9. (6)css盒子模型(基础下)

    一.理解多个盒子模型之间的相互关系 现在大部分的网页都是很复杂的,原因是一个“给人用的”网页中是可能存在着大量的盒子,并且它们以各种关系相互影响着. html与DOM的关系 详情了解“DOM” :ht ...

随机推荐

  1. PLSQL 使用ODBC 数据源导入来自SQLSERVER的数据

    1. 创建ODBC数据源 方法: 打开控制命令 Win10 运行->输入 control 查看方式大图标--选择 管理工具 2. 安装了 64位的plsql 应该也选用 64位的ODBC数据源 ...

  2. add (db.collection.add)添加数据

    db.collection('cheshi').add({ data: { cheshi:4, } }).then((res) => { console.log(res) })

  3. linux ubuntu nethogs安装与介绍

    安装nethogs: apt-get -y install ncurses* apt-get -y install libpcap-dev libncurses5-dev wget -c https: ...

  4. ZOJ1363 Chocolate 【生成函数】 【泰勒展开】

    题目大意: 有c种不同的巧克力,每种无限个,意味着取出每种的几率每次为1/c.现在你需要取n次.然后将统计每种取出来的巧克力的数量.若为偶数则舍去,否则留下一个.问最后留下m个的概率是多少. 题目分析 ...

  5. poj 2236 Wireless Network (并查集)

    链接:http://poj.org/problem?id=2236 题意: 有一个计算机网络,n台计算机全部坏了,给你两种操作: 1.O x 修复第x台计算机 2.S x,y 判断两台计算机是否联通 ...

  6. BZOJ 4556: [Tjoi2016&Heoi2016]字符串(后缀数组 + 二分答案 + 主席树 + ST表 or 后缀数组 + 暴力)

    题意 一个长为 \(n\) 的字符串 \(s\),和 \(m\) 个询问.每次询问有 \(4\) 个参数分别为 \(a,b,c,d\). 要你告诉它 \(s[a...b]\) 中的所有子串 和 \(s ...

  7. shell(1)-磁盘shell

    查看硬盘的大小脚本[root@localhost ~]# vi repboot.sh#!/bin/bash# To show usage of /boot directory and mode of ...

  8. c++ 静态变量报错 undefined reference to static members

    c++中静态变量不但要在头文件中declare,还要在实现的cpp中declare.当然也可以赋个初始值. class foo { int _i; public: foo(int i) : _i(i) ...

  9. MySQL之汇总数据(AVG,COUNT,MAX,MIN,SUM)

    table test Field Type Null Key Default Extra id int(11) NO PRI NULL auto_increment name char(50) NO ...

  10. 关于打包测试环境,百度地图报 Bmap not undefined

    https的网站使用百度地图,如果你引用的地址没写对的话,加载不出来百度地图,被认为是不安全的JS内容. https://api.map.baidu.com/api?+你的秘钥+&s=1 应该 ...