转摘
IE6.0、FF1.06+:
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
IE5.0/5.5:
clientWidth = width - border
clientHeight = height - border
offsetWidth = width
offsetHeight = height
(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)
具体效果请参见下面的代码:
js 代码
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url=http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
- <html xmlns="[url=http://www.w3.org/1999/xhtml]http://www.w3.org/1999/xhtml[/url]" lang="gb2312">
- <head>
- <head>
- <title> 代码实例:关于clientWidth、offsetWidth、clientHeight、offsetHeight的测试比较 </title>
- <meta http-equiv="content-type" content="text/html; charset=gb2312" />
- <meta name="author" content="枫岩,CnLei.y.l@gmail.com">
- <meta name="copyright" content="[url=http://www.cnlei.com]http://www.cnlei.com[/url]" />
- <meta name="description" content="关于clientWidth、offsetWidth、clientHeight、offsetHeight的测试比较" />
- <style type="text/css" media="all">
- body {font-size:14px;}
- a,a:visited {color:#00f;}
- #Div_CnLei {
- width:300px;
- height:200px;
- padding:10px;
- border:10px solid #ccc;
- background:#eee;
- font-size:12px;
- }
- #Div_CnLei p {margin:0;padding:10px;background:#fff;}
- </style>
- <script type="text/javascript">
- function Obj(s){
- return document.getElementById(s)?document.getElementById(s):s;
- }
- function GetClientWidth(o){
- return Obj(o).clientWidth;
- }
- function GetClientHeight(o){
- return Obj(o).clientHeight;
- }
- function GetOffsetWidth(o){
- return Obj(o).offsetWidth;
- }
- function GetOffsetHeight(o){
- return Obj(o).offsetHeight;
- }
- </script>
- </head>
- <body>
- <p>点击下面的链接:</p>
- <div id="Div_CnLei">
- <p><a href="javascript:alert(GetClientWidth('Div_CnLei'));">GetClientWidth();</a> <a href="javascript:alert(GetClientHeight('Div_CnLei'));">GetClientHeight();</a></p>
- <p><a href="javascript:alert(GetOffsetWidth('Div_CnLei'));">GetOffsetWidth();</a> <a href="javascript:alert(GetOffsetHeight('Div_CnLei'));">GetOffsetHeight();</a></p>
- </div>
- <div id="Description">
- <p><strong>IE6.0、FF1.06+:</strong><br />
- clientWidth = width + padding = 300+10×2 = 320<br />
- clientHeight = height + padding = 200+10×2 = 220<br />
- offsetWidth = width + padding + border = 300+10×2+10×2= 340<br />
- offsetHeight = height + padding + border = 200+10×2+10×2 = 240</p>
- <p><strong>IE5.0/5.5:</strong><br />
- clientWidth = width - border = 300-10×2 = 280<br />
- clientHeight = height - border = 200-10×2 = 180<br />
- offsetWidth = width = 300<br />
- offsetHeight = height = 200</p>
- </div>
- </body>
- </html>
分享到:
相关推荐
在探讨`clientHeight`, `offsetHeight`, `scrollHeight`, `clientWidth`, `offsetWidth`, 和 `scrollWidth`这些概念之前,我们首先需要理解它们在Web开发中的重要性。这些属性帮助开发者了解和控制网页在不同浏览器...
此外,`clientWidth`、`offsetWidth`和`scrollWidth`与上述三个属性类似,只是对应元素的宽度。理解这些属性的差异和用途,能够帮助开发者更好地控制网页元素的布局和交互,提高用户体验。 总的来说,`clientHeight...
### 四种浏览器对_clientHeight、offsetHeight、scrollHeight、clientWidth、offsetWidth 和_scrollWidth 的解析 在前端开发过程中,我们经常会遇到需要获取页面元素尺寸的情况,这其中包括了元素的高度(`...
**offsetWidth** 和 **offsetHeight** 用于获取元素的总宽度和总高度,包括所有内容、内边距(padding)、边框(border),但不包括外边距(margin)。 - **offsetWidth**: 获取元素相对于版面或由父坐标 `...
总结来说,offsetHeight和offsetWidth关注的是元素的边界,而clientHeight和clientWidth关注的是元素内容的大小,scrollHeight和scrollWidth关注的是元素内容的实际大小。理解这些概念,对于编写符合布局需求的CSS...
在JavaScript中,DOM元素的尺寸和位置是通过一系列属性来获取的,如offsetWidth、clientWidth、innerWidth等。这些属性对于布局计算和动态界面设计至关重要。以下是对这些属性和方法的详细解释: 1. **clientWidth...
需要注意的是,CSS中的margin属性与clientWidth、offsetWidth、clientHeight、offsetHeight等属性无关,因为margin表示的是元素外部的空间,而不影响元素本身的尺寸。 假设有一个HTML元素obj,它具有offsetTop和...
本文将详细介绍`clientWidth`、`clientHeight`、`scrollWidth`、`scrollHeight`、`offsetWidth`、`offsetHeight`等属性及其应用场景。 #### `clientWidth` 和 `clientHeight` - **定义**:`clientWidth`用于获取...
2. clientWidth 和 clientHeight 属性代表的是元素的内容区域加上内边距后的尺寸,不包括边框和滚动条。这个尺寸是页面布局和渲染时经常用到的尺寸。 3. scrollWidth 和 scrollHeight 属性代表了元素的滚动区域的总...
前段时间在LJW写的touchslider.js轮播代码里添加自适应屏幕大小的功能时,遇到一个问题。...obj.offsetWidth(offsetHeight); obj.clientWidth(clientHeight); getComputedStyle 与 currentStyle; obj.naturalWidth(nat
很详细的解说了弹弹球的原理,我给的注释很多很详细,便于大家理解。 代码内的注释详细解说了距离...可以很清晰得看到offsetWidth,offsetHeight,document.body.clientWidth,document.clientHeight 这4个属性的用法。
3. **窗体尺寸**:IE通过document.body.offsetWidth和offsetHeight获取尺寸,FF则使用window.innerWidth和innerHeight以及document.documentElement.clientWidth和clientHeight。推荐使用document.body.clientWidth...
首先,我们来了解几个重要的DOM属性,它们分别是:scrollHeight、clientHeight、offsetHeight、scrollWidth、clientWidth和offsetWidth。这些属性帮助我们获取元素内容的高度和宽度,以及元素自身整体的高度和宽度。...
- **现代浏览器**:`offsetHeight`, `offsetWidth`, `clientHeight`, `clientWidth`, `scrollHeight`, `scrollWidth` 均支持。 - **Internet Explorer**:除了 `clientHeight` 和 `clientWidth` 外,其他属性也均...
文章还提到了CSS中的margin属性,它与clientWidth、offsetWidth、clientHeight、offsetHeight等属性无关,这是因为在计算元素的宽度和高度时,margin总是被排除在外。 总之,要实现对话框控件的自适应大小,除了...
如IE6.0和FF1.06+版本的浏览器,clientWidth和clientHeight属性的值会包含内边距(padding),而offsetWidth和offsetHeight属性的值还会包含边框(border)。但是,IE5.0/5.5版本的浏览器计算clientWidth和...
首先,我们要了解JavaScript中与元素尺寸相关的几个主要属性:clientHeight、offsetHeight、clientWidth和offsetWidth。clientHeight属性表示元素内部的高度(不包括边框、滚动条或边距),而offsetHeight则包括了...
在ie6中很多js脚本执行就会出现问题,一般是在获取clientWidth, clientHeight,offsetWidth, offsetHeight,scrollWidth, scrollHeight,scrollTop, scrollLeft会返回不正确的值。 因为在加了doctype后,在ie6中...