์ฐธ๊ณ
https://developer.mozilla.org/ko/docs/Web/CSS/CSS_box_model/Mastering_margin_collapsing
https://youtu.be/c19Mjg-ivxc?si=kzFGncB5IBQzRxKi
https://velog.io/@devsaza/likealion006
https://velog.io/@ursr0706/%EB%A7%88%EC%A7%84margin
๋ง์ง ๊ฒน์นจ ํ์(๋ง์ง ์์ ํ์)
์ฌ๋ฌ ๋ธ๋ก์ margin ์ํ ๊ฐ์ด ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ ์ผ ํฐ margin ๊ฐ์ ๊ฐ์ง ๋จ์ผ margin์ผ๋ก ๊ฒฐํฉ(์์)๋๋ ํ์ (๋จ, float ์์ฑ๊ฐ์ ์คฌ๊ฑฐ๋ position ์์ฑ ๊ฐ์ด ์ ๋์์(absolute, fixed, sticky...)
์ฆ ์ธ์ ํ ์์ ๊ฐ์ ์์๋ margin์ด ๊ฒน์น ๋, ํฐ ์ชฝ์ ๊ฐ๋ง ์ ์ฉํ๋ ํ์์ด๋ค.
๋ง์ง ์์๋ ๋ค์ ์ํฉ์์ ๋ฐ์ํ๋ค.
1. ์ธ์ ํ์ ์์๊ฐ ๋ฐ๊นฅ ์ฌ๋ฐฑ
html, css ์ฝ๋
html
<div class="m-c-container">
<div class="item">
<h3>์ธ์ ํ์ ์์</h3>
<p>
๋ฐ์ค๋ค์๊ฒ margin : 30px์ ์์ฑ์ ์คฌ์ผ๋, ๋ฐ์ค1์ margin-bottom :
30px์ ๋ฐ์ค2์ margin-top : 30px์ด ๊ฒน์ณ ๋ ๋ฐ์ค ๊ฐ์ ๊ฐ๊ฒฉ์ด 60px๊ฐ
์๋ 30px๋ก ๊ฒน์นจํ์์ด ์ผ์ด๋จ.
</p>
<div class="parent">
<div class="child">๋ฐ์ค1</div>
<div class="child">๋ฐ์ค2</div>
</div>
</div>
<div class="item">
<h3>ํด๊ฒฐ๋ฐฉ์</h3>
<p>ํ์ ์์๋ค์๊ฒ display : inline-block ์์ฑ์ ์ค๋ค.</p>
<div class="parent">
<div class="child brother-box">๋ฐ์ค1</div>
<div class="child brother-box">๋ฐ์ค2</div>
</div>
</div>
</div>
css
.m-c-container {
display: flex;
flex-wrap: wrap;
justify-content: space-evenly;
border: 2px solid #333;
padding: 20px;
margin-bottom : 20px;
}
.item {
width: 45%;
}
/* ์ธ์ ํ์ ์์ */
.parent {
width: 200px;
border: 1px solid black;
background-color: #77b11a;
margin: auto;
}
.child {
border: 1px solid black;
background-color: #3a5e00;
color: white;
padding: 20px;
margin: 30px;
}
.brother-box {
display: inline-block;
}
@media screen and (max-width: 767px) {
.item {
width: 100%;
}
}
margin-collapsing
์ธ์ ํ์ ์์
๋ฐ์ค๋ค์๊ฒ margin : 30px์ ์์ฑ์ ์คฌ์ผ๋, ๋ฐ์ค1์ margin-bottom : 30px์ ๋ฐ์ค2์ margin-top : 30px์ด ๊ฒน์ณ ๋ ๋ฐ์ค ๊ฐ์ ๊ฐ๊ฒฉ์ด 60px๊ฐ ์๋ 30px๋ก ๊ฒน์นจํ์์ด ์ผ์ด๋จ.
ํด๊ฒฐ๋ฐฉ์
ํ์ ์์๋ค์๊ฒ display : inline-block ์์ฑ์ ์ค๋ค.
2. ๋ถ๋ชจ์ ์์์ ๋ถ๋ฆฌํ๋ ์ฝํ ์ธ ๊ฐ ์๊ฑฐ๋ ๋น ๊ณต๊ฐ์
html, css ์ฝ๋
html (์ด๋ฒ์ ๊ฐ ํด๊ฒฐ๋ฐฉ์๋ง๋ค ํ๊ทธ์ ์ง์ ์ ์ผ๋ก style ์์ฑ์ ๋ถ์ฌํ๋ค.)
<div class="m-c-container">
<div class="item">
<h3>๋ถ๋ชจ ์์ ์์</h3>
<p>
์์์๊ฒ margin : 30px์ด ์ฃผ์ด์ ธ์์ง๋ง, ๋ถ๋ชจ ์์์ ๋์ด์ ์ํฅ์ ์ฃผ์ง ์์ ์ํ๋ก ๋์ด์๊ณ ์๋ค. ์ฆ ์์์ margin์ ๋ถ๋ชจ margin์ ํก์๋ ๊ฒ.
</p>
<div class="parent">
<div class="child">๋ฐ์ค1</div>
<div class="child">๋ฐ์ค2</div>
</div>
</div>
<div class="item">
<h3>ํด๊ฒฐ๋ฐฉ์ 1)</h3>
<p>๋ถ๋ชจ์ overflow : hidden; ์์ฑ์ ๋ถ์ฌ</p>
<div class="parent" style="overflow: hidden;">
<div class="child brother-box">๋ฐ์ค1</div>
<div class="child brother-box">๋ฐ์ค2</div>
</div>
</div>
<div class="item">
<h3>ํด๊ฒฐ๋ฐฉ์ 2)</h3>
<p>์ปจํ
์ธ ์ถ๊ฐ (์์ ํ์ ์์๊ฐ ๋ง์ง๊ฒน์นจํ์๋ ์์ด์ง)</p>
<div class="parent" style="overflow: hidden;">๋ถ๋ชจ๋
<div class="child brother-box">๋ฐ์ค1</div>์์
<div class="child brother-box">๋ฐ์ค2</div>
</div>
</div>
<div class="item">
<h3>ํด๊ฒฐ๋ฐฉ์ 3)</h3>
<p>๋ถ๋ชจ์ border ์์ฑ์ ๋ถ์ฌ</p>
<div class="parent" style="border : 5px solid red;">
<div class="child brother-box">๋ฐ์ค1</div>
<div class="child brother-box">๋ฐ์ค2</div>
</div>
</div>
<div class="item">
<h3>ํด๊ฒฐ๋ฐฉ์ 4)</h3>
<p>๋ถ๋ชจ์ padding ์์ฑ์ ๋ถ์ฌ</p>
<div class="parent" style="padding : 10px;">
<div class="child brother-box">๋ฐ์ค1</div>
<div class="child brother-box">๋ฐ์ค2</div>
</div>
</div>
</div>
css
.m-c-container {
display: flex;
flex-wrap: wrap;
justify-content: space-evenly;
border: 2px solid #333;
padding: 20px;
margin-bottom : 20px;
}
.item {
width: 45%;
}
.parent {
width: 200px;
background-color: #77b11a;
}
.child {
border: 1px solid black;
background-color: #3a5e00;
color: white;
padding: 20px;
margin: 30px;
}
@media screen and (max-width: 767px) {
.item {
width: 100%;
}
}
margin-collapsing
๋ถ๋ชจ ์์ ์์
์์์๊ฒ margin : 30px์ด ์ฃผ์ด์ ธ์์ง๋ง, ๋ถ๋ชจ ์์์ ๋์ด์ ์ํฅ์ ์ฃผ์ง ์์ ์ํ๋ก ๋์ด์๊ณ ์๋ค. ์ฆ ์์์ margin์ ๋ถ๋ชจ margin์ ํก์๋ ๊ฒ.
ํด๊ฒฐ๋ฐฉ์ 1)
๋ถ๋ชจ์ overflow : hidden; ์์ฑ์ ๋ถ์ฌ
ํด๊ฒฐ๋ฐฉ์ 2)
์ปจํ ์ธ ์ถ๊ฐ (์์ ํ์ ์์๊ฐ ๋ง์ง๊ฒน์นจํ์๋ ์์ด์ง)
ํด๊ฒฐ๋ฐฉ์ 3)
๋ถ๋ชจ์ border ์์ฑ์ ๋ถ์ฌ
ํด๊ฒฐ๋ฐฉ์ 4)
๋ถ๋ชจ์ padding ์์ฑ์ ๋ถ์ฌ
์ด ์ธ์๋ ๊ฐ์์์ (::before)๋ฅผ ํ์ฉํ๋ ๋ฑ์ ์ฌ๋ฌ๊ฐ์ง ํด๊ฒฐ๋ฐฉ์์ด ์๋ค.
'html, css' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Flex vs Grid (0) | 2025.03.05 |
---|---|
CSS Grid ์ ๋ฆฌ (0) | 2022.12.08 |
์ฝ๋๋๋ - HTML, CSS / Chapter 7 - ๋ฐ์ํ ์น์ฌ์ดํธ ๋ง๋ค๊ธฐ Bootstrap (0) | 2022.05.16 |
์ฝ๋๋๋ - HTML, CSS / chapter 6 - Spotify ์น์ฌ์ดํธ ๋ง๋ค๊ธฐ (0) | 2022.05.15 |
์ฝ๋๋๋ - HTML, CSS / chapter 5 - HTML์ ์ข ๋ ์ฝ๊ฒ ์์ง์ด๋ ๋ฐฉ๋ฒ (0) | 2022.02.16 |