用margin還是用padding這個問題是每個學(xué)習(xí)CSS進(jìn)階時的必經(jīng)之路。
CSS邊距屬性定義元素周圍的空間岭妖。通過使用單獨的屬性,可以對上反璃、右昵慌、下、左的外邊距進(jìn)行設(shè)置淮蜈。也可以使用簡寫的外邊距屬性同時改變所有的外邊距斋攀。——W3School
邊界(margin):元素周圍生成額外的空白區(qū)梧田〈景“空白區(qū)”通常是指其他元素不能出現(xiàn)且父元素背景可見的區(qū)域〔妹校——CSS權(quán)威指南
padding稱呼為內(nèi)邊距鹉梨,其判斷的依據(jù)即邊框離內(nèi)容正文的距離,而我喜歡CSS權(quán)威指南解釋的“補白”(或者叫“留白”)穿稳,因為它很形象存皂。
補白(padding):補白位于元素框的邊界與內(nèi)容區(qū)之間。很自然,用于影響這個區(qū)域的屬性是padding旦袋≈璨ぃ——CSS權(quán)威指南
關(guān)于什么時候用margin什么時候用padding,網(wǎng)上有許許多多的討論疤孕,大多數(shù)似乎討論到點上面商乎,卻又有些隔靴搔癢的感覺,總是答不到點上祭阀。而且margin和padding在許多地方往往效果都是一模一樣鹉戚,而且你也不能說這個一定得用margin那個一定要用padding,因為實際的效果都一樣柬讨,你說margin用起來好他說padding用起來會更好崩瓤,但往往爭論無果。根據(jù)網(wǎng)上的總結(jié)歸納大致發(fā)現(xiàn)這幾條還是比較靠譜的:
何時應(yīng)當(dāng)使用margin:
- 需要在border外側(cè)添加空白時踩官。
- 空白處不需要背景(色)時却桶。
- 上下相連的兩個盒子之間的空白,需要相互抵消時蔗牡。如15px + 20px的margin颖系,將得到20px的空白。
何時應(yīng)當(dāng)時用padding:
- 需要在border內(nèi)測添加空白時辩越。
- 空白處需要背景(色)時嘁扼。
- 上下相連的兩個盒子之間的空白,希望等于兩者之和時黔攒。如15px + 20px的padding趁啸,將得到35px的空白。
個人認(rèn)為:margin是用來隔開元素與元素的間距督惰;padding是用來隔開元素與內(nèi)容的間隔不傅。margin用于布局分開元素使元素與元素互不相干;padding用于元素與內(nèi)容之間的間隔赏胚,讓內(nèi)容(文字)與(包裹)元素之間有一段“呼吸距離”访娶。