获取元素的尺寸:
js获取元素尺寸:
- js获取元素尺寸的方法:offsetWidth、offsetHeight、clientWidth、clientHeight;
- 区别是:offset是内容宽+padding+border,client是内容宽+padding;
- 但是设置完display:none;就拿不到这个值了;
jq获取元素尺寸:
- jq既可以单独获取到“内容的宽高”,又可以获取到“内容+padding”的尺寸,也可以获取到“内容+padding+border”的尺寸,甚至可以获取到“内容+padding+border+margin”的尺寸;
- 而且即使设置display:none;也可以获取到需要的尺寸;
- width()、height():获取内容的尺寸
核心代码:
<body>
<div></div>
<script>
//获取内容的尺寸
console.log($("div").width(),$("div").height())
</script>
</body>
css样式:
<style>
div{
width: 100px;
height: 100px;
/* background-color: skyblue; */
padding: 10px;
border: 1px solid black;
margin: 50px;
}
</style>
结果:100 100
- innerWidth()、innerHeight():获取内容+padding的尺寸
//获取内容+padding的尺寸
console.log($("div").innerWidth(),$("div").innerHeight())
结果:120 120
- outerWidth()、outerHeight():获取内容+padding+border的尺寸
//获取内容+padding+border的尺寸
console.log($("div").outerWidth(),$("div").outerHeight())
结果:122 122
- outerWidth(true)、outerHeight(true):获取内容+padding+border+margin的尺寸
//获取内容+padding+border+margin的尺寸
console.log($("div").outerWidth(true),$("div").outerHeight(true))
结果:222 222