[HTML/CSS] CSS Padding & Margin(feat. Margin 병합)

yayaya_hojinΒ·2024λ…„ 2μ›” 12일

HTML/CSS

λͺ©λ‘ 보기
8/8
post-thumbnail

Paddingκ³Ό Margin λͺ¨λ‘ 여백을 λ‚˜νƒ€λ‚΄κΈ° μœ„ν•œ CSS 속성이닀.

⬜ Padding & Margin

pm_img

🟩 Padding

padding은 Object λ‚΄μ˜ μ—¬λ°±(λ‚΄λΆ€ μ—¬λ°±)을 μ˜λ―Έν•œλ‹€. content와 border의 사이 여백을 λ‚˜νƒ€λ‚Έλ‹€.

padding: 20px; //μƒν•˜μ’Œμš° λͺ¨λ‘ 20px λ‚΄λΆ€ μ—¬λ°±
padding: 20px 10px; //μƒν•˜ 20px, 쒌우 20px λ‚΄λΆ€ μ—¬λ°±
padding: 20px 10px 30px; //상 20px, 쒌우 10px, ν•˜ 30px λ‚΄λΆ€ μ—¬λ°±
padding: 20px 20px 10px 10px; //상 20px, 우 20px, ν•˜ 10px, 쒌 10px λ‚΄λΆ€ μ—¬λ°±

🟧 Margin

margin은 Object와 ν™”λ©΄κ³Όμ˜ μ—¬λ°±(μ™ΈλΆ€ μ—¬λ°±)을 μ˜λ―Έν•œλ‹€. border의 λ°”κΉ₯ μͺ½ 여백을 λ‚˜νƒ€λ‚Έλ‹€.

margin: 20px; //μƒν•˜μ’Œμš° λͺ¨λ‘ 20px μ™ΈλΆ€ μ—¬λ°±
margin: 20px 10px; //μƒν•˜ 20px, 쒌우 20px μ™ΈλΆ€ μ—¬λ°±
margin: 20px 10px 30px; //상 20px, 쒌우 10px, ν•˜ 30px μ™ΈλΆ€ μ—¬λ°±
margin: 20px 20px 10px 10px; //상 20px, 우 20px, ν•˜ 10px, 쒌 10px μ™ΈλΆ€ μ—¬λ°±
margin: 0 auto; //쒌우 μ™ΈλΆ€ 여백을 μžλ™μœΌλ‘œ μ„€μ •, κ°€μš΄λ° μ •λ ¬ κΈ°λŠ₯
margin: -20px 0px 0px -20px; //상 or 쒌 음수 μ—¬λ°± μ„€μ • μ‹œ μ„€μ • λ°©ν–₯으둜 μš”μ†Œ 이동
margin: 0px -20px -20px 0px; //ν•˜ or 우 음수 μ—¬λ°± μ„€μ • μ‹œ μ„€μ • λ°©ν–₯으둜 λ‹€μŒ μš”μ†Œ λŒμ–΄λ‹ΉκΉ€

πŸ’‘ paddingκ³Ό margin λͺ¨λ‘ px이 μ•„λ‹Œ λ‹€λ₯Έ λ‹¨μœ„λ„ 적용 κ°€λŠ₯ν•˜λ‹€.

πŸ’‘ padding의 경우 음수 κ°’ 적용이 λΆˆκ°€λŠ₯ν•˜λ‹€.

πŸ’‘ padding의 경우 auto(μžλ™ μ„€μ •) κ°’ 적용이 λΆˆκ°€λŠ₯ν•˜λ‹€.

🌫️ Margin 병합(Margin Collapse)

Margin 병합 ν˜„μƒμ΄λž€ ν•œ μš”μ†Œμ˜ μ•„λž˜μͺ½ λ°”κΉ₯ μ—¬λ°±κ³Ό λ‹€λ₯Έ ν•œ μš”μ†Œμ˜ μœ„μͺ½ λ°”κΉ₯ 여백이 λ§Œλ‚˜λŠ” 경우 κ°€μž₯ 큰 μ—¬λ°±μ˜ κ°’ ν•˜λ‚˜λ‘œ ν•©μ³μ§€λŠ” ν˜„μƒμ„ μ˜λ―Έν•œλ‹€.

m1_img

CSS μ½”λ“œλ₯Ό 보면 μœ„ μš”μ†Œμ˜ margin-bottom: 20pxκ³Ό μ•„λž˜ μš”μ†Œμ˜ margin-top: 20px이 λ§Œλ‚˜λ©΄ μ˜ˆμƒ 값은 20 + 20 = 40px이 λ˜μ–΄μ•Ό ν•œλ‹€.

m2_img

ν•˜μ§€λ§Œ μœ„ 사진을 보면 margin-bottom: 20px만 μ£Όμ—ˆλŠ”λ° μ•žμ„œ 있던 사진과 같은 κ²°κ³Ό 화면을 보여쀀닀.

μ΄λŠ” Margin 병합(λΆ•κ΄΄) ν˜„μƒμ΄ μΌμ–΄λ‚˜ 20px의 margin만 μ μš©λ˜μ—ˆλ‹€λŠ” 것이닀.

❗ Margin 병합 ν˜„μƒμ΄ λ°œμƒ 쑰건

1) display: block

display: block λ˜μ–΄μžˆκ±°λ‚˜ <div> νƒœκ·Έμ™€ 같이 display μ†μ„±μ˜ κΈ°λ³Έ μ„€μ • 값이 block으둜 λ˜μ–΄ μžˆλŠ” μš”μ†Œμ—μ„œ λ°œμƒν•œλ‹€.

2) μƒν•˜ λ°”κΉ₯ μ—¬λ°±λ§Œ 병합

쒌우 λ°”κΉ₯ 여백은 병합 ν˜„μƒμ΄ λ°œμƒν•˜μ§€ μ•ŠλŠ”λ‹€. 였직 μƒν•˜ λ°”κΉ₯ μ—¬λ°±μ—μ„œλ§Œ λ°œμƒν•œλ‹€.

πŸͺ„ Margin 병합 ν˜„μƒ ν•΄κ²° 방법

display: inline-block λ³€κ²½

m3_img

display 속성을 inline-block으둜 λ³€κ²½ν•˜κ²Œ 되면 height와 weightλ₯Ό λͺ¨λ‘ μ„€μ •ν•  수 μžˆμ„ 뿐만 μ•„λ‹ˆλΌ margin 병합 ν˜„μƒμ΄ μΌμ–΄λ‚˜μ§€ μ•ŠλŠ”λ‹€.

0개의 λŒ“κΈ€