Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.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 如何以像素为单位获得宽度、填充、边框和边距之和?_Javascript_Css - Fatal编程技术网

Javascript 如何以像素为单位获得宽度、填充、边框和边距之和?

Javascript 如何以像素为单位获得宽度、填充、边框和边距之和?,javascript,css,Javascript,Css,我想获取元素的宽度,包括元素本身的宽度、边框(如果有)、填充和边距(不是JQuery)?用于无边距的宽度,而用于边距: var d=document.querySelector('div'), cs=getComputedStyle(d); console.log(d.getBoundingClientRect().width+ parseFloat(cs.getPropertyValue('margin-left'))+ parseFloat(cs.getPropertyValue('mar

我想获取元素的宽度,包括元素本身的宽度、边框(如果有)、填充和边距(不是JQuery)?

用于无边距的宽度,而用于边距:

var d=document.querySelector('div'),
cs=getComputedStyle(d);
console.log(d.getBoundingClientRect().width+
parseFloat(cs.getPropertyValue('margin-left'))+
parseFloat(cs.getPropertyValue('margin-right'))
);
div{
宽度:40px;
填充:10px;
边框:5px纯绿色;
左边距:15px;
右边距:5px;
}

这是一个测试

边距
元素大小的一部分…很想知道。折叠边距怎么样?我想得到一个元素的所有区域大小。你想得到它作为一个代码,还是你只想知道?如果使用“长方体大小:边框长方体”,则可以获得整个宽度,而无需边距。通过检查元素,你可以看到所有的元素…@Paulie_D:不,它不是元素大小的一部分。边距是到周围图元或非塌陷边界的最小距离。一个元素的底部边距不会添加到下面元素的顶部边距,较大的边距决定了它们之间的距离。