javascript - 为什么我的 clientWidth 和 offsetWidth 相等?
问题描述
var mydiv = document.getElementById("mydiv");
console.log("offset width = " + mydiv.offsetWidth);
console.log("client width = " + mydiv.clientWidth);
#div1 {
height: 5000px;
width: 5000px;
background-color: #000000;
}
<div id="mydiv">
<div id="div1"></div>
</div>
我在内容需要垂直滚动条的网页上有一个 div。使用 javascript,我正在尝试计算 offsetWidth 和 clientWidth,以便我最终可以计算垂直滚动条的宽度,但显然它们是相等的。我有:
html:
<div id="mydiv">
<div id="div1"></div>
</div>
CSS:
#div1 {
height: 5000px;
width: 5000px;
background-color: #000000;
}
js:
var mydiv = document.getElementById("mydiv");
console.log("offset width = " + mydiv.offsetWidth);
console.log("client width = " + mydiv.clientWidth);
解决方案
看一下这两个片段,你可以看到有滚动条和没有滚动条的区别。
var mydiv = document.getElementById("mydiv");
console.log("offset width = " + mydiv.offsetWidth);
console.log("client width = " + mydiv.clientWidth);
#div1 {
height: 100px;
width: 200px;
background-color: #000000;
}
#mydiv{
height:80px;
width:160px;
overflow:scroll
}
<div id="mydiv">
<div id="div1"></div>
</div>
下面的代码片段没有滚动条和溢出,所以客户端宽度和偏移宽度是相同的
var mydiv = document.getElementById("mydiv");
console.log("offset width = " + mydiv.offsetWidth);
console.log("client width = " + mydiv.clientWidth);
#div1 {
height: 100px;
width: 200px;
background-color: purple;
}
<div id="mydiv">
<div id="div1"></div>
</div>
推荐阅读
- azure - Azure Devops:如何通过 Rest API 检索发布工件的版本?
- php - laravel 等价顺序随机
- excel - 是否有易于使用的应用程序/脚本在扫描二维码后弹出图像?
- javascript - 反应不要使用字符串文字在单元格中呈现空值
- python - Python Matplotlib:为旋转的 PatchCollection 设置动画
- python - django rest 框架序列化器允许额外的字段
- vegan - 素食包装中的 NMDS
- c# - 如何绑定列表
到 DataGridView 与 DataGridViewAutoFilter 库? - python - 在 matplotlib 中标记一系列数据
- sql-server - docker 中的 Asp.net 核心未处理异常。SqlException (0x80131904): ..,但是在登录前握手期间发生错误