jquery使用属性border-size:border-box指定元素的错误高度

时间:2016-11-23 11:34:58

标签: jquery css border-box box-sizing

我有一个任意高度的元素。 元素具有属性box-sizing:border-box。 如果使用jquery指定100px高度,结果将是元素的高度等于120。 可能有什么不对?

JS:

$('#element').height(100);

的CSS:

#element{
    background-color: green;
    height: 50px;
    width: 300px;
    padding: 10px;
    box-sizing: border-box;
}

https://jsfiddle.net/yurri_87/8sLovkba/

1 个答案:

答案 0 :(得分:3)

height()函数仅设置元素的高度,如果要将总高度(包括填充,边框和边距)设置为100,请使用outerHeight()

$('#element').outerHeight(100);

使用height(),你强迫jQuery将元素本身的高度设置为100,这就是为什么即使你使用box-sizing: border-box,它也不会有任何区别。

供进一步参考: http://api.jquery.com/outerheight/

我希望它有所帮助