必威体育Betway必威体育官网
当前位置:首页 > IT技术

javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法

时间:2019-07-19 18:40:00来源:IT技术作者:seo实验室小编阅读:79次「手机版」
 

offsetwidth

关于js中的offsetwidth、clientwidthscrollWidth等一系列属性及其方法一直都傻傻分不清,这里就来总结一下这些方法的用法和含义。

注意: 下面元素属性和元素方法都通过 elem.属性elem.方法 的方式使用,window属性通过 window.属性 的方式使用,document属性则通过document调用。

<script>
    /*
     ****** 元素视图属性
     * offsetWidth 水平方向 width + 左右padding + 左右border-width
     * offsetheight 垂直方向 height + 上下padding + 上下border-width
     * 
     * clientWidth 水平方向 width + 左右padding
     * clientheight 垂直方向 height + 上下padding
     * 
     * offsettop 获取当前元素到 定位父节点 的top方向的距离
     * offsetleft 获取当前元素到 定位父节点 的left方向的距离
     * 
     * scrollWidth 元素内容真实的宽度,内容不超出盒子高度时为盒子的clientWidth
     * scrollheight 元素内容真实的高度,内容不超出盒子高度时为盒子的clientHeight
     * 
     ****** 元素视图属性结束
     * 
     ****** Window视图属性(低版本IE浏览器[<IE9]不支持) 【自测包含滚动条,但网络教程都说不包含???】
     * innerWidth 浏览器窗口可视区宽度(不包括浏览器控制台、菜单栏工具栏) 
     * innerHeight 浏览器窗口可视区高度(不包括浏览器控制台、菜单栏、工具栏)
     * ***** Window视图属性结束
     * 
     ****** Document文档视图
     * (低版本IE的innerWidth、innerHeight的代替方案)
     * document.documentElement.clientWidth 浏览器窗口可视区宽度(不包括浏览器控制台、菜单栏、工具栏、滚动条)
     * document.documentElement.clientHeight 浏览器窗口可视区高度(不包括浏览器控制台、菜单栏、工具栏、滚动条)
     * 
     * document.documentElement.offsetHeight 获取整个文档的高度(包含body的margin)
     * document.body.offsetHeight 获取整个文档的高度(不包含body的margin)
     * 
     * document.documentElement.scrollTop 返回文档的滚动top方向的距离(当窗口发生滚动时值改变)
     * document.documentElement.scrollLeft 返回文档的滚动left方向的距离(当窗口发生滚动时值改变)
     ****** Document文档视图结束
     * 
     ****** 元素方法
     * 1. getBoundingClientRect() 获取元素到body
     *  bottom: 元素底边(包括border)到可视区最顶部的距离
     *  left: 元素最左边(不包括border)到可视区最左边的距离
     *  right: 元素最右边(包括border)到可视区最左边的距离
     *  top: 元素顶边(不包括border)到可视区最顶部的距离
     *  height: 元素的offsetHeight
     *  width: 元素的offsetWidth
     *  x: 元素左上角的x坐标 
     *  y: 元素左上角的y坐标 
     * 
     * 2. scrollIntoView() 让元素滚动到可视区
     * 
     * ***** 元素方法结束
     * 
     */
</script>

上面属性中,关于 window.innerWidthwindow.innerHeight, 我自己测试的结果值是包含滚动条的,但网上的教程和相关文档都说不包括滚动条,虽然滚动条的宽度不大,对整体影响也不明显,但如果有道友有准确答案的,还请不吝赐教,顺手留个言,谢谢!

相关阅读

offsetWidth等等的介绍

最近弄了一个放大镜的案例,所以在这里写了一下关于dom中offsetWidth等相关属性 给个图,大家体验下 有兴趣的可以自己去试下 <!DOC

js中clientWidth、offsetWidth

clientWidth:width+padding2;offsetWidth:width+padding2+border*2<p class="box">我是box</p> <style> *{

offsetWidth 和 width

浏览器offsetWidth、clientWidth、scrollWith等总结

对象尺寸会涉及width和height,我们以width为例,height则是一样的道理。 1、clientWidth:对象可见的宽度,不包括滚动条等边线,会随窗口

理解JS中的offsetWidth

首先来看看这个p1: #p1 { width:200px; height:200px; border:1px solid red; padding:2px; margin:2px; background:green;} 它

分享到:

栏目导航

推荐阅读

热门阅读