Fork me on GitHub

clientWidth offsetWidth clientWidth

<textarea id="textarea"> 

offsetWidth=document.getElementById('textarea').offsetWidth;

clientWidth=document.getElementById('textarea').clientWidth;

scrollWidth=document.getElementById('textarea').scrollWidth;

clientWidth==scrollWidth

 scrollbar是div的滚动条,浏览器的滚动条对此无影响

如果textarea设置了属性overlfow-y:scroll则scrollbar=17如果没有滚动条则scrollbar=0

  chrome ff IE
offsetWidth

width+padding+border

textarea对象宽

width+padding+border

textarea对象宽

width+padding+border

textarea对象宽

clientWidth

width+padding-(scrollbar)

textarea对象宽,不包括边框和滚动条

width-(scrollbar)

textarea对象宽,不包括边框、滚动条和内边距

width+padding-(scrollbar)

textarea对象宽,不包括边框和滚动条

scrollWidth

width+padding-(scrollbar)

textarea对象宽,不包括边框和滚动条

width-(scrollbar)

textarea对象宽,不包括边框、滚动条和内边距

width+padding-(scrollbar)

textarea对象宽,不包括边框和滚动条

 

 

 

 

 

 

 

 

 

<div id='div'>

div被卷去的高: document.getElementById('div').scrollTop
div被卷去的左: document.getElementById('div').scrollLeft

offsetWidth=document.getElementById('div').offsetWidth;

clientWidth=document.getElementById('div').clientWidth;

clientWidth==scrollWidth

scrollbar是div的滚动条,浏览器的滚动条对此无影响

如果div设置了属性overlfow-y:scroll则scrollbar=17如果没有滚动条则scrollbar=0

  chrome ff IE
offsetWidth

width+padding+border

div对象宽

width+padding+border

div对象宽

width+padding+border

div对象宽

clientWidth

width+padding-(scrollbar)

div对象宽,不包括边框和滚动条

width+padding-(scrollbar)

div对象宽,不包括边框和滚动条

width+padding-(scrollbar)

div对象宽,不包括边框和滚动条

scrollWidth

width+padding-(scrollbar)

div对象宽,不包括边框和滚动条

width+padding-(scrollbar)

div对象宽,不包括边框和滚动条

width+padding-(scrollbar)

div对象宽,不包括边框和滚动条

 

 

 

 

 

 

 

 

 

<body style="padding:5px;border:1px solid #ccc">

clientWidth=document.body.clientWidth;

offsetWidth=document.body.offsetWidth;

scrollWidth=document.body.scrollWidth;

scrollbar是浏览器的滚动条

如果浏览器右边有滚动条则scrollbar=17,如果浏览器右边没有滚动条则scrollbar=0

如果body指定了宽度

绿色border是不包含边框

  chrome ff IE
document.body.offsetWidth

width+padding+border-(scrollbar)

body对象宽,包括边框

 width+padding+border-(scrollbar)

body对象宽,包括边框

width+padding+border-(scrollbar)

body对象宽,包括边框

document.body.clientWidth

width+padding-(border)-(scrollbar)

body对象宽,不包括边框

width+padding-(border)-(scrollbar) 

body对象宽,不包括边框

width+padding-(border)-(scrollbar)

body对象宽,不包括边框

document.body.scrollWidth

width+padding+border+margin-(scrollbar)

网页全文宽

width+padding-(border)-(scrollbar) 

body对象宽,不包括边框

width+padding-(border)-(scrollbar) 

body对象宽,不包括边框

document.documentElement.scrollWidth

width+padding+border+margin-(scrollbar)

网页全文宽

width+padding+border+margin-(scrollbar)

网页全文宽

width+padding+border+margin-(scrollbar)

网页全文宽

如果内容宽度超过body宽度:

chrome:scrollWidth=内容宽+内容padding++内容border+内容左margin+body左padding+body左border+body左margin

ff:   scrollWdith=内容宽+内容padding++内容border+内容左margin+body左padding

IE:        scrollWidth=内容宽+内容padding++内容border+内容左margin+body左padding

ff/IE:      document.documentElement.scrollWidth=内容宽+内容padding++内容border+内容左margin+body左padding+body左border+body左margin

---------------------------------------------------------------------------------

document.body和document.documentElement与DTD是否声明有关系

标准模式

chrome:

网页被卷去的高: document.body.scrollTop
网页被卷去的左: document.body.scrollLeft

document.documentElement.scrollTop  始终为0
document.documentElement.scrollLeft  始终为0

 

FF/IE:

网页被卷去的高:document.documentElement.scrollTop

网页被卷去的左:document.documentElement.scrollLeft

document.body.scrollTop  始终为0
document.body.scrollLeft  始终为0

 

混杂模式/怪异模式(DTD未声明等)

chrome:

网页被卷去的高:document.body.scrollTop

网页被卷去的左:document.body.scrollLeft

document.documentElement.scrollTop  始终为0
document.documentElement.scrollLeft  始终为0

FF:

网页被卷去的高:document.body.scrollTop

网页被卷去的左:document.body.scrollLeft

document.documentElement.scrollTop  始终为0
document.documentElement.scrollLeft  始终为0

IE:

网页被卷去的高:document.body.scrollTop,document.documentElement.scrollTop 
网页被卷去的左:document.body.scrollLeft,document.documentElement.scrollLeft

-------------------------------------------------------------------------------------------

屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width

屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth

 

有错误麻烦指点一下

 原文地址:http://www.cnblogs.com/miss-radish/p/3658871.html 

 

 

 

posted @ 2014-04-13 15:01  萝卜丝小童鞋  阅读(811)  评论(0编辑  收藏  举报