实际上,当我在这些网站上阅读两个不同的内容时,我感到困惑。 我知道盒子尺寸以及它如何影响盒子模型,但是如果我们不考虑尺寸并且想要告诉元素的大小会怎样。请参阅以下网址:
http://www.w3schools.com/css/css_boxmodel.asp
元素的总宽度应按如下方式计算:
总元素宽度=宽度+左边填充+右边填充+左边 边框+右边框+左边距+右边距
元素的总高度应按如下方式计算:
总元素高度=高度+顶部填充+底部填充+顶部 边框+底部边框+上边距+下边距
https://css-tricks.com/the-css-box-model/
盒子本身的大小计算如下:
宽度=宽度+填充 - 左+填充 - 右+边框 - 左+ border-right Height = height + padding-top + padding-bottom + border-top + border-bottom
我认为根据我的理解,我们计算宽度=宽度+填充+边框作为默认大小调整中元素的总宽度。
答案 0 :(得分:0)
这就是我在Chrome浏览器中大致看到的内容。
如果设置* {box-sizing: border-box;}
,则元素的宽度等于width + border + padding
。
width值等于devtool中显示的宽度。
元素的宽度(当然)包括子元素的边距,但不包括其自身的边距。 宽度值也等于devtool中显示的宽度。但是您在计算时需要注意保证金崩溃。
但是,如果例如最顶端的元素margin-top
折叠,从body
中渲染,则多余的空白不会增加devtool中显示的框的元素高度。但是您可以使用document.getElementsByTagName('html')[0].scrollHeight
来获取整个高度。
回到您的问题:
在确定元素的宽度或高度时,我们是否在CSS盒子模型中包含边距?
我大多会说。
再次使用元素boder-box
和width == content-width(include margin of element's children) + border + padding
。