Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的clientWidth和offsetWidth相等?_Javascript_Html_Css_Offsetwidth - Fatal编程技术网

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您的确切问题是什么?你能和我分享一下吗?我正在努力找到滚动条的宽度。参考这些链接,这将帮助你找到它