็ก์
display ์์ฑ ๋ณธ๋ฌธ
๐ขโ โdisplay
์น ํ์ด์ง์ ๋ชจ๋ ์์๊ฐ ํ๋ฉด์์ ์ด๋ป๊ฒ ๋ณด์ด๊ณ , ๋ฐฐ์น๋ ์ง ๊ฒฐ์ ํ๋ ํต์ฌ ์์ฑ.
๐ฏ ์ฃผ์ ์์ฑ 4๊ฐ์ง ๐ฏ
๐นโ block: ํญ์ ์๋ก์ด ์ค์์ ์์ํ๋ฉฐ, ํ ์ค ์ ์ฒด ์ฐจ์ง ํ ๋ค์ ์์๋ ์๋์ผ๋ก ์๋ ์ค๋ก ๋ฐฐ์น๋๋ ์์.
- ์: <div>, <h1>, <p>, <ul>, <section>
๐น inline: ์๋ก์ด ์ค์ ์ฐจ์งํ์ง ์๊ณ ํ ์คํธ์ฒ๋ผ ํ๋ฅด๋ฉฐ, ํฌ๊ธฐ ์ง์ ์์ด ๋ด์ฉ๋งํผ๋ง ๊ณต๊ฐ์ ์ฌ์ฉํ๋ ์์.
- ์: <span>, <a>, <strong>, <em>
- ์ฃผ์: width/height ์ ์ฉ ๋ถ๊ฐ, ์ข์ฐ ์ฌ๋ฐฑ(margin/padding)์ ์ ์ฉ ๊ฐ๋ฅ.
๐น inline-block: inline์ฒ๋ผ ํ ์ค์ ๋๋ํ ๋ฐฐ์น๋๋ฉด์, block์ฒ๋ผ ํฌ๊ธฐ(width, height)๋ฅผ ์์ ๋กญ๊ฒ ์กฐ์ ํ ์ ์๋ ์์.
๐น none: ์์๋ฅผ ํ๋ฉด์์ ์์ ํ ์ ๊ฑฐ. ๊ณต๊ฐ๋ ์ฐจ์งํ์ง ์๋๋ค. (์๋ฐ์คํฌ๋ฆฝํธ๋ก ์์๋ฅผ ์จ๊ฒผ๋ค ๋ํ๋ผ ๋ ์์ฃผ ์ฌ์ฉ)
๐ฅโ๋ชจ๋ ๋ ์ด์์ ์์ฑ๐ฅโ
๊ฐ๋ ฅํ ๋ฐ์ํ ๋ ์ด์์
๐น flex: ๊ฐ๋ก ๋๋ ์ธ๋ก ํ ๋ฐฉํฅ(line)์์ ์์ ์ ๋ ฌ์ ๊ฐ๋ ฅํ๊ฒ ์ ์ด. (1์ฐจ์ ๋ ์ด์์)
.container {
display: flex;
justify-content: center; /* ๊ฐ๋ก ์ ๋ ฌ */
align-items: center; /* ์ธ๋ก ์ ๋ ฌ */
gap: 20px; /* ์์ ์ฌ์ด ๊ฐ๊ฒฉ */
}
- flex-direction: ์์ ๋ฐฐ์น ๋ฐฉํฅ. (row, column ๋ฑ)
- justify-content: ์ฃผ ์ถ(๊ฐ๋ก) ์ ๋ ฌ. (flex-start, center, space-between ๋ฑ)
- align-items: ๊ต์ฐจ ์ถ(์ธ๋ก) ์ ๋ ฌ. (flex-start, center, stretch ๋ฑ)
- flex-wrap: ์ค ๋๊น ํ์ฉ ์ฌ๋ถ. (wrap, nowrap ๋ฑ)
- gap: ์์ ์ฌ์ด ๊ฐ๊ฒฉ.
๐น grid: ๊ฐ๋ก ๋๋ ์ธ๋ก ํ ๋ฐฉํฅ๋ฟ ์๋๋ผ, ํ(row)๊ณผ ์ด(column) ๋ชจ๋ ๊ฐ๋ ฅํ๊ฒ ์ ์ด. (2์ฐจ์ ๋ ์ด์์)
.container {
display: grid;
grid-template-columns: repeat(3, 1fr); /* 3์นธ ๊ท ๋ฑ */
grid-template-rows: 100px 100px; /* 2ํ ๊ณ ์ ๋์ด */
gap: 20px; /* ํ/์ด ๊ฐ๊ฒฉ */
}
- grid-template-columns: ์ด ํฌ๊ธฐ ์ ์.
- grid-template-rows: ํ ํฌ๊ธฐ ์ ์.
- gap: ํ/์ด ์ฌ์ด ๊ฐ๊ฒฉ.
- grid-column: ํน์ ์์์ ์ด ๋ฒ์ ์ง์ .
- grid-row: ํน์ ์์์ ํ ๋ฒ์ ์ง์ .
- justify-items: ์์ ๊ฐ๋ก ์ ๋ ฌ.
- align-items: ์์ ์ธ๋ก ์ ๋ ฌ.
๐โ POINT ๐
โ๏ธ display: none ์ ์์๊ฐ ์์ ์ฌ๋ผ์ง๊ณ , visibility: hidden ์ ์์๋ ์ ๋ณด์ฌ๋ ๊ณต๊ฐ์ ๊ทธ๋๋ก ๋จ๊ฒจ๋๋ค. โ๏ธ
โ๏ธ ๋ฆฌ์คํธ(li)๋ก ๊ฐ๋ก ๋ฉ๋ด๋ฅผ ๋ง๋ค ๋ ๊ณผ๊ฑฐ์๋ inline-block์ ์ผ์ง๋ง, ํ์ฌ๋ display: flex๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํ์ค์ด๋ค. โ๏ธ
โ๏ธ inline ์์์ padding์ ์ค ๊ฒฝ์ฐ ๋ฐฐ๊ฒฝ์์ ์น ํด์ง์ง๋ง ์ฃผ๋ณ ๋ ์ด์์์ ๋ฐ์ด๋ด์ง๋ ๋ชปํ๋ฏ๋ก ์ฃผ์ํด์ผํ๋ค. โ๏ธ
๐ display ์์ฑ ์์ฝํ ๐
| ๊ฐ | ์ค ๋ฐ๊ฟ ์ฌ๋ถ | ํฌ๊ธฐ ์ค์ (width/height) | ๋น๊ณ |
| block | ์์ | ๊ฐ๋ฅ | ๊ฐ๋ก ์ ์ฒด๋ฅผ ์ฐจ์งํจ |
| inline | ์์ | ๋ถ๊ฐ๋ฅ | ํ ์คํธ ํ๋ฆ ์์ ์์นํจ |
| inline-block | ์์ | ๊ฐ๋ฅ | inline๊ณผ block์ ์ฅ์ ๊ฒฐํฉ |
| flex | ์ค์ ์ ๋ฐ๋ฆ | ๊ฐ๋ฅ | ์ ์ฐํ ๋ฐ์ค ๋ชจ๋ธ (1์ฐจ์) |
| grid | ์ค์ ์ ๋ฐ๋ฆ | ๊ฐ๋ฅ | ๊ฒฉ์ ์์คํ (2์ฐจ์) |
| none | - | - | ๋ ๋๋ง ์์ฒด๋ฅผ ํ์ง ์์ |
โ๏ธ ์ค์ ์์ ์ฝ๋: ์ฑ๊ฒฉ ๋ณํ์ํค๊ธฐ โ๏ธ
<style>
/* ์๋ block์ธ li๋ฅผ ํ ์ค๋ก ๋๋ํ ๋ฐฐ์น */
nav li {
display: inline-block;
margin-right: 20px;
background-color: #f0f0f0;
padding: 10px;
}
/* ์๋ inline์ธ span์ ํฌ๊ธฐ ๋ถ์ฌํ๊ธฐ */
.box-span {
display: block; /* block์ผ๋ก ๋ฐ๊พธ๋ฉด ๋๋น์ ๋์ด๊ฐ ์ ์ฉ๋จ */
width: 100px;
height: 50px;
background-color: orange;
}
/* ์์๋ฅผ ์์ ์จ๊ธฐ๊ธฐ */
.hidden {
display: none;
}
</style>
<nav>
<ul>
<li>Home</li>
<li>About</li>
<li>Contact</li>
</ul>
</nav>
<span class="box-span">Box</span>
<div class="hidden">์ด ๊ธ์๋ ๋ณด์ด์ง ์์ต๋๋ค.</div>
'<style>' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| CSS์ Position ์์ฑ (0) | 2026.03.19 |
|---|---|
| float ์์ฑ (0) | 2026.03.19 |
| Box Model์ padding ์์ฑ (0) | 2026.03.18 |
| Box Model์ margins ์์ฑ (0) | 2026.03.18 |
| Box Model์ border ์์ฑ (0) | 2026.03.18 |