jQuery:border()用于边框

前端之家收集整理的这篇文章主要介绍了jQuery:border()用于边框前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

它在jQuery API中说明:

Note that .height() will always return the content height,regardless
of the value of the CSS Box-sizing property.
As of jQuery 1.8,this
may require retrieving the CSS height plus Box-sizing property and
then subtracting any potential border and padding on each element when
the element has Box-sizing: border-Box. To avoid this penalty,use
.css( “height” ) rather than .height().

我尝试了以下示例

@H_502_20@

用CSS

@H_502_20@.BoxA{ padding: 20px; background-color: yellow; Box-sizing: border-Box; margin: 50px; } .BoxB{ height: 50px; background-color: red; }

根据jQUery API,我确信

@H_502_20@$('#wrapper').height($('#wrapper').height());

BoxA的高度设置为50px(因为内容高度为50px),但我发现高度设置为90px.
但是,如果我使用

@H_502_20@$('#wrapper').css('height',$('#wrapper').height()+"px");

BoxA的高度为50px,因此缩小.为什么第一种方法也不能产生50px的高度?

此外,命令

@H_502_20@$('#wrapper').height($('#wrapper').css('height'));

BoxA的高度设置为130px但$(‘#wrapper’).css(‘height’)返回90.这里发生了什么?

您可以在jFiddle中找到这些示例.

最佳答案
看起来.height()总是通过内容框来衡量,但是在应用新值时它会考虑大小调整大小,因此它会将测量的内容框值添加到其余设置中,因为框已经设置了边框.

如果你在demo中将Box-sizing更改为content-Box,它的行为将完全相同(在所有情况下都会将50px设置为每个框,并且对于content-Box值,所有框都将具有90px).

原文链接:https://www.f2er.com/html/425492.html

猜你在找的HTML相关文章