一。clientwidth和clientheight

注:返回了元素大小,但没有单位,默认单位是 px,如果你强行设置了单位,比如 100em
之类,它还是会返回 px的大小。 (CSS获取的话,是照着你设置的样式获取 ).

对于元素的实际大小, clientWidth和 clientHeight理解方式如下:
1.增加边框,无变化;
2.增加外边距,无变化;
3.增加滚动条,最终值等于原本大小减去滚动条的大小;
4.增加内边距,最终值等于原本大小加上内边距的大小;

注:如果说没有设置任何 CSS的宽和高度, 那么非 IE浏览器会算上滚动条和内边距的
计算后的大小,而 IE浏览器则返回 0

二scrollwidth和scrollheight

注: 返回了元素大小, 默认单位是 px。 如果没有设置任何 CSS的宽和高度, 它会得到
计算后的宽度和高度。
注:对于元素的实际大小, scrollWidth和 scrollHeight理解如下:
1.增加边框,不同浏览器有不同解释:
a) Firefox和 Opera浏览器会增加边框的大小,
b) IE、 Chrome和 Safari浏览器会忽略边框大小,
c) IE浏览器只显示它本来内容的高度,
2.增加内边距, 最终值会等于原本大小加上内边距大小
3.增加滚动条, 最终值会等于原本大小减去滚动条大小
4.增加外边据,无变化。
5.增加内容溢出, Firefox、 Chrome和 IE获取实际内容高度, Opera比前三个浏览
器获取的高度偏小, Safari比前三个浏览器获取的高度偏大

三。offsetwidth和offsetheight

offsetWidth和 offsetHeight
这组属性可以返回元素实际大小,包含边框、内边距和滚动条。

注: 返回了元素大小, 默认单位是 px。 如果没有设置任何 CSS的宽和高度, 他会得到
计算后的宽度和高度。
注:对于元素的实际大小, offsetWidth和 offsetHeight理解如下:
1.增加边框,最终值会等于原本大小加上边框大小;
2.增加内边距,最终值会等于原本大小加上内边距大小;
3.增加外边据,无变化;
4.增加滚动条,无变化,不会减小;
PS:对于元素大小的获取,一般是块级(block)元素并且以设置了 CSS大小的元素较为
方便。 如果是内联元素(inline)或者没有设置大小的元素就尤为麻烦, 所以, 建议使用的时候
注意

js浏览器窗口的更多相关文章

  1. (转)JS浮动窗口(随浏览器滚动而滚动)

    原文:http://hi.baidu.com/aiyayaztt/item/4201c55a6b729dced2e10c79 JS浮动窗口(随浏览器滚动而滚动) 往往用于一些联系方式,互动平台模块,随 ...

  2. js关闭浏览器窗口事件

    js关闭浏览器窗口 js关闭浏览器窗口,不弹出提示框.支持ie6+,火狐,谷歌等浏览器. <html> <head /> <body> <script typ ...

  3. jquery和js检测浏览器窗口尺寸和分辨率

    jquery和js检测浏览器窗口尺寸和分辨率,转载自网络,记录备忘 <script type="text/javascript">$(document).ready(f ...

  4. 通过了解JS的clientX、pageX、screenX等方法来获取鼠标位置相对屏幕,相对浏览器窗口,相对文档的坐标详解

    在一些DOM操作中我们经常会跟元素的位置打交道,鼠标交互式一个经常用到的方面,令人失望的是不同的浏览器下会有不同的结果甚至是有的浏览器下没结果,这篇文章就上鼠标点击位置坐标获取做一些简单的总结,没特殊 ...

  5. java selenium常用API(WebElement、iFrame、select、alert、浏览器窗口、事件、js) 一

     WebElement相关方法 1.点击操作 WebElement button = driver.findElement(By.id("login")); button.clic ...

  6. js关闭浏览器窗口及检查浏览器关闭事件

    js关闭浏览器窗口,不弹出提示框.支持ie6+,火狐,谷歌等浏览器,下面以一个示例为大家详细介绍下具体的实现方法,感兴趣的朋友可以参考下   js关闭浏览器窗口 js关闭浏览器窗口,不弹出提示框.支持 ...

  7. js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)

    本文为大家详细介绍下使用js实现遮罩弹出层居中,且随浏览器窗口滚动条滚动,示例代码如下,感兴趣的朋友可以参考下, js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动) 下面看看我的原始代码: & ...

  8. js使浏览器窗口最大化(适用于IE的方法)

    这里使用的方法是IE的私有特性,只能在IE中有效.主要是window.moveTo和 window.resizeTo方法.       效果和点击最大化按钮差不多,有一点区别.点击最大化按钮后,浏览器 ...

  9. js获取浏览器窗口可视区域大小

    获得浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)的方法: 一.对于IE9+.Chrome.Firefox.Opera 以及 Safari: •  window.innerHeight - 浏 ...

随机推荐

  1. Windows Azure Redis 缓存服务

    8月20日,Windows Azure (中国版)开始提供Redis缓存服务,比较国际版的Microsoft Azure晚了差不多一年的时间.说实话,微软真不应该将这个重要的功能delay这么长时间, ...

  2. 转载:学习Entity Framework 中的Code First

    看完觉得不错,适合作为学习资料,就转载过来了 原文链接:http://www.cnblogs.com/Wayou/archive/2012/09/20/EF_CodeFirst.html 这是上周就写 ...

  3. (三)策略模式-C++实现

    策略模式:定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换,本模式使得算法可独立于使用它的客户而变化. 三种角色: 1.策略:一个抽象类,这个接口定义了若干个算法标识,即多个虚函数,这些个 ...

  4. [No000008]发工资不仅仅是让你写代码的

    这是我对团队每个新进员工说的第一件事情.这句话的意思是,我并不关心你是如何快速完成任务的,哪怕代码很差,只要它像救生艇通气门一样管用就行.这句话也是我最喜欢的座右铭之一. 这个说法其实很合理:我们的工 ...

  5. 在Android中如何获取视频的第一帧图片并显示在一个ImageView中

    String path  = Environment.getExternalStorageDirectory().getPath(); MediaMetadataRetriever media = n ...

  6. http协议(四)http状态码

    一:http状态码 表示客户端http请求的返回结果.标记服务器端的处理是否正常.通知出现的错误等工作 状态码的类别如下: http状态码种类繁多,大概有60多种,实际上经常使用的只有14种,下面为一 ...

  7. LeetCode 2. Add Two Numbers swift

    // // main.swift // leetcode02 // // Created by GuoLa on 16/1/21. // Copyright © 2016年 GuoLa. All ri ...

  8. 转:小白编译openwrt固件教程

    原文地址 编译openwrt固件并没有想象的那么复杂,我也是个小白,以下内容是我将网络上的编译教程稍微进行了一下整合.因为我发现很多编译教程没有说明如何更改flash相关配置.   安装ubuntu, ...

  9. ehcache2.8.3入门示例:hello world

    一.pom.xml 依赖项 <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehc ...

  10. left join 条件区别

    t1: num | name-----+------ 1      | a 2      | b 3      | c t2: num | value-----+------- 1  | xxx 3 ...