🌟 CSS - λ§ˆμ§„ 병합 ν˜„μƒ

μ„œκ°€ν¬Β·2022λ…„ 4μ›” 18일
3

CSS

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

🚩🚩🚩 λ§ˆμ§„ 병합 ν˜„μƒ(Margin Collapsing)

기초적인 ν˜„μƒ μž„μ—λ„ λΆˆκ΅¬ν•˜κ³  λ§Žμ€ μ‚¬λžŒλ“€μ΄ λ†“μΉ˜λŠ” λΆ€λΆ„μ΄λ‹ˆ 잘 짚고 λ„˜μ–΄κ°€λ³΄μž


margin을 20pxλ₯Ό μ£Όμ—ˆλ‹€.
margin 값을 20px을 μ£Όμ—ˆμœΌλ©΄ section#1κ³Ό section#2 의 μƒν•˜ 간격이 40px이 λ§žμ•„μ•Όν•˜μ§€λ§Œ 20px의 κ°„κ²©λ§Œ μ‘΄μž¬ν•œλ‹€ πŸ€¦β€β™€οΈ πŸ‘‡πŸ» section#1 κ³Ό section#2 사이 간격이 20px인게 보이μ₯¬? 이걸 λ§ˆμ§„ 병합 ν˜„μƒμ΄λΌκ³  ν•œλ‹€

πŸ‘€ μ™œ 이럴까?
CSSλŠ” λ¬Έμ„œλ₯Ό μ•ˆμ •μ μ΄κ³ , 보기 νŽΈν•˜κ²Œ ν•˜κΈ° μœ„ν•΄μ„œ μ˜λ„μ μœΌλ‘œ margin 값이 κ²ΉμΉ˜λ„λ‘ μ„€κ³„λœ 것이닀. λ§ˆμ§„ 병합은 우리λ₯Ό λ„μ™€μ£ΌλŠ” 이둜운 ν˜„μƒμ΄λ‹€.

λ§ˆμ§„ 병합 ν˜„μƒμ΄ 일어날 수 μžˆλŠ” 쑰건

  1. μΈμ ‘ν•΄μžˆλŠ” Block μš”μ†ŒλΌλ¦¬λ§Œ λ§ˆμ§„ 병합 ν˜„μƒμ΄ μΌμ–΄λ‚œλ‹€.
  2. μƒν•˜λ‹¨λ§Œ 해당사항이 μžˆλ‹€. (μ’Œμš°λŠ” μΌμ–΄λ‚˜μ§€ μ•ŠλŠ”λ‹€!!!)

    λ§ˆμ§„ 병합 ν˜„μƒμ—λŠ” μš”μ†Œμ™€ μš”μ†Œμ˜ 사이에 λ§ˆμ§„ 탑(margin-top) ν˜Ήμ€ λ§ˆμ§„ λ°”ν…€(margin-bottom)의 곡간이 μžˆμ„ 경우 더 높은 κ°’μ˜ λ§ˆμ§„ 값이 μ μš©λ˜λŠ” ν˜„μƒ κ³Ό λΆ€λͺ¨ μš”μ†Œμ™€ μžμ‹ μš”μ†Œκ°€ μ‘΄μž¬ν•  λ•Œ, μžμ‹ μš”μ†Œμ˜ λ§ˆμ§„ 탑 ν˜Ήμ€ λ§ˆμ§„ λ°”ν…€ 값이 λΆ€λͺ¨μ˜ 높이에 영ν–₯을 λ―ΈμΉ˜μ§€ μ•ŠλŠ” ν˜„μƒ 이 μ‘΄μž¬ν•œλ‹€.
    🧲 λΆ€λͺ¨μ˜ 높이λ₯Ό λ”°λ‘œ μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ μžμ‹μ˜ λ†’μ΄λ§ŒνΌ λΆ€λͺ¨μ˜ 높이가 μ§€μ •λœλ‹€!! λ§Œμ•½ μžμ‹ 높이λ₯Ό 100px둜 μ„€μ •ν–ˆμœΌλ©΄ λΆ€λͺ¨μ˜ 높이도 100px이 됨.

😲 λ§ˆμ§„ 병합 ν˜„μƒμ€ 항상 이둜운 것이 μ•„λ‹ˆλΌ κ³€λž€ν•œ 상황이 λ°œμƒν•  μˆ˜λ„ μžˆλ‹€!!


μžμ‹ div듀에 margin을 쀌으둜써, 8자의 λͺ¨μ–‘이 λ‚˜μ™€μ•Όν•˜μ§€λ§Œ H λͺ¨μ–‘이 λ‚˜μ˜¨ 것을 λ³Ό 수 μžˆλ‹€.
πŸ‘‰ λΆ€λͺ¨ div λΈ”λ‘λ ˆλ²¨μ˜ μš”μ†Œμ΄κΈ° λ•Œλ¬Έμ— μžμ‹div와 병합 ν˜„μƒμ΄ μΌμ–΄λ‚˜μ„œ λΆ€λͺ¨ div의 margin-top이 50pxμž„μ„ μ•Œ 수 μžˆλ‹€.

ν•΄κ²°μ±…

1. Textλ₯Ό λ„£κΈ°

2. Parentμ—κ²Œ Padding, Border κ°’ μ£ΌκΈ°

padding: 1px; //padding 값을 1px 둜 μ€€λ‹€.
border: 1px solid transparent // border값을 1px 투λͺ…μœΌλ‘œ μ€€λ‹€.

μœ„ 방법듀은 λ§ˆμ§„ 병합 ν˜„μƒμ„ μ˜λ„μ μœΌλ‘œ ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•  λ•Œ λ‚΄κ°€ μ˜λ„ν•œ λ””μžμΈκ³Ό λ‹¬λΌμ§ˆ μˆ˜λ„ μžˆλ‹€.

더 쒋은 ν•΄κ²°μ±… ❗

1. Childλ₯Ό inline-block μš”μ†Œλ‘œ λ°”κΎΈκΈ°


λ‹€λ§Œ, κ°€μš΄λ° λ§ˆμ§„ 병합 ν˜„μƒμ΄ μ‚¬λΌμ§€λ©΄μ„œ 40px둜 됐닀.

2. Parent에 overflow:hidden 값을 μ£ΌκΈ°


πŸ‘€ λΆ€λͺ¨ μš”μ†Œμ— overflow: hidden 값을 μ£Όλ©΄ λœλ‹€.
overflow: hidden (ν˜λŸ¬λ‚˜μ˜€λŠ”κ±Έ μž˜λΌλ‚Έλ‹€ !!)
λΆ€λͺ¨ μš”μ†Œμ—κ²Œ overflow:hidden을 주게 되면 μƒˆλ‘œμš΄ block format contextκ°€ λΆ€λͺ¨ μš”μ†Œ κΈ°μ€€μ—μ„œ λ§Œλ“€μ–΄μ§€λ©΄μ„œ λΆ€λͺ¨ μš”μ†Œμ˜ λ§ˆμ§„κ³Ό μžμ‹ μš”μ†Œμ˜ λ§ˆμ§„μ€ λ³„κ°œκ°€ λœλ‹€.(독립적!!)
bodyλŠ” block format context 의 성격을 가지고 있음.

3개의 λŒ“κΈ€

comment-user-thumbnail
2022λ…„ 4μ›” 19일

와.... κ°€ν¬λ‹˜ 정리 ν•˜μ‹œλŠ” μ‹€λ ₯이 정점을 μ°μœΌμ…¨κ΅°μš”...
예제λ₯Ό ν†΅ν•΄μ„œ λ³΄λ‹ˆκΉŒ 이해가 쏙쏙 λ˜λŠ”κ±° κ°™μ•„μš”!! κ°μ‚¬ν•©λ‹ˆλ‹€!!πŸ˜†πŸ˜†

λ‹΅κΈ€ 달기
comment-user-thumbnail
2022λ…„ 4μ›” 20일

와 저도 λ§ˆμ§„λ³‘ν•© κΉŒλ¨Ήμ–΄ κ°€κ³  μžˆμ—ˆλŠ”λ° λ„ˆλ¬΄ 정리λ₯Ό 잘 ν•˜μ…”μ„œ 이해가 쏙쏙 λ˜λ„€μš”!! κ°€ν¬λ‹˜ 짱 γ…Žγ…Ž κ°μ‚¬ν•©λ‹ˆλ‹€~

λ‹΅κΈ€ 달기
comment-user-thumbnail
2022λ…„ 4μ›” 22일

ν•˜ν•˜ λ©”λ‘± γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹ κ·€μ—¬μ›Œμš”

λ‹΅κΈ€ 달기