Element属性 :获取元素高度,宽度,clientHeight, clientWidth属性详解

Element.clientHeight - Web APIs | MDN

这个属性是只读属性,对于没有定义CSS或者内联布局盒子的元素为0,否则,它是元素内部的高度(单位像素),包含内边距,但不包括水平滚动条、边框和外边距。

 其值计算方式如下;

clientHeight  =  内容高 + paddingTop + paddingBottom  - 水平滚动条的高度 (如果存在) 

如图:控制台选中元素时,看到的蓝色部分就是盒子内容

box-sizing值为content-box时:
内容高 = css height

box-sizing值为border-box时:
内容高 = css height - paddingTop - paddingBottom - borderTop - borderBottom
相当于此情景下 clientHeight = css height - borderTop - borderBottom - 水平滚动条的高度 (如果存在) 

《clientWidth同理》

JS在线编辑器,JS在线运行,在线演示,调试测试代码

<style>
	* {
		margin: 0px;
		padding: 0px;
	}
	.box {
        box-sizing: border-box;
        width: 100px;
        height: 100px;
        padding: 10px;
        border: 5px solid green;
        background: red;
        overflow: auto;
    }
    .son {
        width: 200px;
        height: 200px;
        background: blue;
    }
</style>
<body>
	<div id="box" class="box">
        <div class="son"></div>
    </div>
</body>
<script>
    // chrome里滚动条高度为17,得到值为 100 - 5*2 -17 = 73;
    console.log(document.getElementById("box").clientHeight)
    // chrome里滚动条宽度为17,得到值为 100 - 5*2 -17 = 73;
    console.log(document.getElementById("box").clientWidth)
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值