Javascript 为什么我的clientWidth和offsetWidth相等?
Javascript 为什么我的clientWidth和offsetWidth相等?,javascript,html,css,offsetwidth,Javascript,Html,Css,Offsetwidth,var mydiv=document.getElementById(“mydiv”); console.log(“偏移宽度=“+mydiv.offsetWidth”); console.log(“客户端宽度=“+mydiv.clientWidth”) #第1部分{ 高度:5000px; 宽度:5000px; 背景色:#000000; } 客户端宽度和offsetWidth之间的主要区别: (1) clientWidth是内部宽度(即元素内部的空间,包括填充,但不包括边框和滚动条) (2) off
var mydiv=document.getElementById(“mydiv”);
console.log(“偏移宽度=“+mydiv.offsetWidth”);
console.log(“客户端宽度=“+mydiv.clientWidth”)代码>
#第1部分{
高度:5000px;
宽度:5000px;
背景色:#000000;
}
客户端宽度和offsetWidth之间的主要区别:
(1) clientWidth是内部宽度(即元素内部的空间,包括填充,但不包括边框和滚动条)
(2) offsetWidth是外部宽度(即元素占用的空间,包括填充和边框)
正如我在CSS边框和滚动条中看到的,这就是为什么两种情况下的宽度相同
我已经更新了CSS,现在你会得到不同的值。请检查以下代码段:
var mydiv=document.getElementById(“mydiv”);
console.log(“偏移宽度=“+mydiv.offsetWidth”);
console.log(“客户端宽度=“+mydiv.clientWidth”)代码>
#mydiv{
填充:20px;
边框:20px纯红;
}
看看这两个代码片段,您可以看到使用滚动条和不使用滚动条的区别
var mydiv=document.getElementById(“mydiv”);
console.log(“偏移宽度=“+mydiv.offsetWidth”);
console.log(“客户端宽度=“+mydiv.clientWidth”)代码>
#第1部分{
高度:100px;
宽度:200px;
背景色:#000000;
}
#mydiv{
高度:80px;
宽度:160px;
溢出:滚动
}
这是否回答了您的问题?我之前读过。这似乎暗示offsetWidth包含滚动条。但根据我上面的代码,它不。。?我如何获得包含滚动条的宽度?在你的代码片段中,你没有滚动条,那么它如何包含滚动条呢?有一个滚动条给我。应该就在右边..?滚动条用于代码段,而不是内容。为外部容器提供较小的宽度并添加oveflow:scroll
,然后您可以看到不同的值。我试图稍微更改我的站点代码以使此解决方案起作用。但实际上,我不能在child div上指定高度,因为它是动态的。正如您所说,当滚动条出现时,有两种不同的情况。一种是容纳一个比其父div大的子div,正如上面所述。但在我的例子中,滚动条是用于比屏幕大的内容的。对于后一种情况,clientWidth似乎不起作用。@Normajean您的确切问题是什么?你能和我分享一下吗?我正在努力找到滚动条的宽度。参考这些链接,这将帮助你找到它