CSS中的边距和填充有什么区别?在何种情况下:
两者都有效。只有保证金是合适的。只有填充是合适的。
CSS中的边距和填充有什么区别?在何种情况下:
两者都有效。只有保证金是合适的。只有填充是合适的。
当前回答
关于边距的问题是,您不必担心元素的宽度。
就像当你给出一些{padding:10px;}时,你必须将元素的宽度减少20px,以保持“适合”,而不干扰周围的其他元素。
因此,我通常从使用填充来“填充”所有内容开始,然后使用边距进行微调。
另一点需要注意的是,不同浏览器上的填充更为一致,IE对负边距的处理也不太好。
其他回答
我所见过的最好的例子、图表,甚至是“自己试试看”的观点都在这里。
我认为下面的图表可以立即直观地理解两者的区别。
需要记住的一点是,符合标准的浏览器(IE怪癖是一个例外)只将内容部分渲染为给定的宽度,因此在布局计算中要注意这一点。还要注意的是,随着Bootstrap 3的支持,border box有点卷土重来。
了解边距和填充之间的区别很好。以下是一些区别:
边距是元素的外部空间,而填充是元素的内部空间。边距是元素边界外的空间,而填充是元素边界内的空间。Margin接受auto:bmargin:auto的值,但不能将padding设置为auto。提示:您可以使用此技巧使元素在其父对象内部居中(甚至垂直)。例如,请参见我的另一个答案。边距可以设置为任何数字,但填充必须为非负数。设置元素样式时,填充也会受到影响(例如背景色),但不会影响边距。
从…起https://www.w3schools.com/css/css_boxmodel.asp
不同部分的说明:内容-框的内容,其中显示文本和图像填充-清除内容周围的区域。填充物是透明的边框-围绕填充和内容的边框边距-清除边界外的区域。边距是透明的
实时示例(通过更改值进行模拟):https://www.w3schools.com/css/tryit.asp?filename=trycss_boxmodel
保证金与衬垫:
元素中使用边距来创建该元素和页面其他元素之间的距离。其中填充用于在元素的内容和边框之间创建距离。边距不是元素的一部分,而填充是元素的一。
请参阅下面从边距与填充-CSS财产中提取的图像
边距在框外,填充在框内