在CSS中,边距和填充到底有什么区别?它似乎真的没有多大用处。你能给我举个例子说明区别在哪里(以及为什么知道区别很重要)吗?
当前回答
边距应用于元素的外部,从而影响元素与其他元素的距离。
填充应用于元素的内部,从而影响元素的内容距离边框的距离。
此外,使用边距不会影响元素的尺寸,而填充会使元素的尺寸(设置高度+填充),例如,如果你有一个100x100px的div,填充5px,你的div实际上将是105x105px
其他回答
了解边距和填充之间的区别是很好的。据我所知:
Margin is the outer space of an element, while padding is the inner space of an element. In other words, margin is the space outside of an element's border, while padding is the space inside of its border. You can set auto value to margin. However, it's not allowed for padding. See this. Note: Use margin: auto to center a block element inside its parent horizontally. Also, it's possible to center an element inside a flexbox vertically or horizontally or both, by setting margin to auto. See this. Margin can be any float number, but padding must not be negative. When you style an element, padding will be styled also; but not margin. Margin gets the parent element's style. For example, when you set the background-color property to black, its inner space (i.e. padding) will be black, but not its outer space (i.e. margin).
填充是内容和边框之间的空间。其中Margin是边框和其他元素之间的空间。
记住这三点:
边距是控件周围的额外空间。 填充是控件内部的额外空间。 外部控件的Padding是内部控件的Margin。
演示图片:(红框为欲望控制)
试着在一个有宽有高的div块上添加一个背景色。您将看到填充增加了元素的大小,而边距只是在文档流中移动元素。
边距是专门用来移动元素的。
边框=元素边框外的空间。
Padding =元素(内部)从文本到边框的空格。
请看这里:http://jsfiddle.net/robx/GaMpq/