获取元素的宽和高

下图显示了CSS框模型:具有内容,填充,边框和边距的块元素:

使用以下方法获取每个框的宽度和高度:

var box =  document。querySelector('div');

//宽度和高度(以像素为单位),包括填充和边框
//对应于jQuery externalWidth(),outsideHeight()
var width = box.offsetWidth;
var height = box.offsetHeight;

//以像素为单位的宽度和高度,包括填充,但没有边框
//对应于jQuery innerWidth(),innerHeight()
var width = box.clientWidth;
var height = box.clientHeight;

元素的边距是根据其计算样式来计算的:

var  style =  window .getComputedStyle?getComputedStyle(el,null):el.currentStyle;

var marginLeft =  parseInt(style.marginLeft)| |  0 ;
var marginRight =  parseInt(style.marginRight)| |  0 ;
var marginTop =  parseInt(style.marginTop)| |  0 ;
var marginBottom =  parseInt(style.marginBottom)| |  0 ;

计算的样式也可以用于读取其他属性。例如边框宽度:

var borderLeft =  parseInt(style.borderLeftWidth)| |  0 ;

获取窗口的宽度和高度的方法有所不同。就像在jQuery中一样,以上介绍的方法不适用于窗口或文档对象。使用此代替:

var w =  window .innerWidth | |  document .documentElement.clientWidth | |  文档 .body.clientWidth;
var h =  window .innerHeight | |  document .documentElement.clientHeight | |  文档 .body.clientHeight;

你可能感兴趣的:(获取元素的宽和高)