首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在确定元素的宽度或高度时,我们是否在css框模型中包含边距?

在确定元素的宽度或高度时,我们是否在css框模型中包含边距?
EN

Stack Overflow用户
提问于 2016-03-19 07:08:08
回答 1查看 2.1K关注 0票数 2

事实上,当我在这些网站上读到两件不同的东西时,我感到很困惑。我知道盒子的大小和它对盒子模型的影响,但是如果我们不考虑尺寸,并且想知道元素的大小会怎样呢?请参阅网址如下:

boxmodel.asp

元素的总宽度应按以下方式计算: 总元素宽度=宽度+左填充+右填充+左边框+右边框+左边框+右边框 元素的总高度应按以下方式计算: 总元素高度=高度+顶部填充+底部填充+顶部边框+底部边框+上边缘+底部边缘

https://css-tricks.com/the-css-box-model/

盒子本身的大小计算如下: Width=宽度+填充-左+填充-右+左+边框-右Height=高度+填充-顶+填充-底部+边框-顶部+边框-底部

根据我的理解,我们计算宽度=宽度+填充+边框,作为默认框大小中元素的总宽度。

EN

回答 1

Stack Overflow用户

发布于 2019-10-15 04:56:40

这是我在Chrome中粗略观察到的。

如果设置* {box-sizing: border-box;},则元素的宽度等于width + border + padding。宽度值与devtool中显示的宽度相等。

元素的宽度(当然)包括它的子区域,但不包括它自己的边距。宽度值也相当于devtool中显示的宽度。但在计算时,你需要关心的是保证金崩溃。

但是,如果对于exmaple,最顶层元素的margin-top折叠,呈现出body,那么额外的magin不会增加显示在devtool中的框的元素高度。但是你可以用document.getElementsByTagName('html')[0].scrollHeight来获得整个高度。

所以回到你的问题:

在确定元素的宽度或高度时,我们是否在css框模型中包括边距?

我会说是的。

同样,对于boder-box,元素的width == content-width(include margin of element's children) + border + padding

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36098920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档