用margin還是用padding這個問題是每個學習CSS進階時的必經之路。
CSS邊距屬性定義元素周圍的空間。通過使用單獨的屬性,可以對上、右、下、左的外邊距進行設置。也可以使用簡寫的外邊距屬性同時改變所有的外邊距。——W3School
邊界(margin):元素周圍生成額外的空白區(qū)。“空白區(qū)”通常是指其他元素不能出現且父元素背景可見的區(qū)域。——CSS權威指南
padding稱呼為內邊距,其判斷的依據即邊框離內容正文的距離,而我喜歡CSS權威指南解釋的“補白”(或者叫“留白”),因為他很形象。補白(padding):補白位于元素框的邊界與內容區(qū)之間。很自然,用于影響這個區(qū)域的屬性是padding。——CSS權威指南
關于什么時候用margin什么時候用padding,網上有許許多多的討論,大多數似乎討論到點上面,卻又有些隔靴搔癢的感覺,總是答不到點上。而且margin和padding在許多地方往往效果都是一模一樣,而且你也不能說這個一定得用margin那個一定要用padding,因為實際的效果都一樣,你說margin用起來好他說padding用起來會更好,但往往爭論無果。根據網上的總結歸納大致發(fā)現這幾條還是比較靠譜的:
何時應當使用margin:
需要在border外側添加空白時。
空白處不需要背景(色)時。
上下相連的兩個盒子之間的空白,需要相互抵消時。如15px + 20px的margin,將得到20px的空白。