在javascript和jquery中,都有对各种高度的写法,在这里,我们就着重讲一下窗口、文档等高度的理解。(宽度和高度差不多!)
jquery的各种高度
首先来说一说$(document)
和 $(window)
,如下:
- 1
- 2
- 3
用一句话理解就是:当网页滚动条拉到最低端时,
- 1
注意,是拉到最低端!
当网页高度不足浏览器窗口时$(document).height()
返回的是$(window).height()
假如您要获取整个网页的高度,不建议用$("html").height()、$("body").height()
的高度,
原因:
$("body").height():body
可能会有边框,获取的高度会比$(document).height()
小; $("html").height()
:在不同的浏览器上获取的高度的意义会有差异,说白了就是浏览器不兼容。
说道这里,提及边框和margin还有padding,我们自然想到了jquery的另外的两个高度,那就是innerHeight()
和outerHeight()
innerHeight()
和outerHeight()
不适用于window 和 document对象,对于window 和 document对象可以使用.height()
代替。innerHeight()
和outerHeight()
主要用来获取标签的高度。
innerHeight()
innerHeight:高度+补白
outerHeight:高度+补白+边框,参数为true时:高度+补白+边框+边距
innerHeight(value)
这个“value”参数可以是一个字符串(数字加单位)或者是一个数字,如果这个“value”参数只提供一个数字,jQuery会自动加上像素单位(px)。如果只提供一个字符串,任何有效的CSS尺寸都可以为高度赋值(就像100px, 50%, 或者 auto)。注意在现代浏览器中,CSS高度属性不包含padding, border, 或者 margin, 除非box-sizingCSS属性被应用。
jquery高度,放到浏览器中试一下
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
javascript的各种高度
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
结束语
注意,在运用jquery的innerHeight()和outerHeight()的时候,可能会有浏览器的兼容问题,不同浏览器出现不同高度,总之,实践得真知,你可以测试一下,写几个小的demo,总结一下!