一个 dom 元素占据的高度分为四种:content-height, padding, border, margin。
jQuery 提供了4种对应的获取方式:height(), innerHeight(), outerHeight(), outerHeight(true)。
jQuery 提供了4种对应的获取方式:height(), innerHeight(), outerHeight(), outerHeight(true)。
依次对应并且依次包含,比如 height 获取到 content-height, 那 innerHeight 获取到 content-height + padding。
所以如果要获取一个 dom 元素真正在网页中占据的高度应该使用 outerHeight(true)。对于宽度是一致的。
另外的有一个,对于 inline-block 和 block 元素, content-height 有点不一致,需要根据 style.boxSizing (content-box 和 border-box) 不同而有不同的结果。不过这个 jQuery 都做了封装。当然 boxSizing 不止这两种,这都是因为规范不同导致的。
jQuery height相关方法
- alert($(window).height()); //浏览器时下窗口可视区域高度
- alert($(document).height()); //浏览器时下窗口文档的高度
- alert($(document.body).height());//浏览器时下窗口文档body的高度
- alert($(document.body).outerHeight(true));//浏览器时下窗口文档body的总高度 包括border padding margin
- alert($(window).width()); //浏览器时下窗口可视区域宽度
- alert($(document).width());//浏览器时下窗口文档对于象宽度
- alert($(document.body).width());//浏览器时下窗口文档body的高度
- alert($(document.body).outerWidth(true));//浏览器时下窗口文档body的总宽度 包括border padding margin
- alert($(document/window).scrollTop()); /滚动条滚动后相对于浏览器的高度
- alert($(document).scrollLeft()); //获取滚动条到左边的垂直宽度
本文详细解析了DOM元素高度的四个组成部分及jQuery提供的四种获取方式,并通过实例展示了如何正确获取元素在网页中实际占据的高度。此外,文章还讨论了inline-block和block元素在content-height上的差异及jQuery对此的封装。
2250

被折叠的 条评论
为什么被折叠?



