CSS ๋ด์ฌ์ ํฌ๊ธฐ ์ ์ฝ ํด๊ฒฐ์ ์์ธํ ์์๋ณด์ธ์. ๋ธ๋ผ์ฐ์ ๊ฐ ์ถฉ๋ํ๋ ํฌ๊ธฐ ์์ฑ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๊ณ ์น ํ์ด์ง ๋ ์ด์์์ ํจ๊ณผ์ ์ผ๋ก ์ ์ดํ์ธ์. min/max-content ํฌ๊ธฐ ์กฐ์ ์ ๋ง์คํฐํ๊ณ ์ผ๋ฐ์ ์ธ ๋ ์ด์์ ๋ฌธ์ ๋ฅผ ํผํ์ธ์.
CSS ๋ด์ฌ์ ํฌ๊ธฐ ์ ์ฝ ํด๊ฒฐ: ํฌ๊ธฐ ๊ณ์ฐ ์ถฉ๋ ๋ง์คํฐํ๊ธฐ
CSS๋ ์น ํ์ด์ง์์ ์์์ ํฌ๊ธฐ๋ฅผ ์ ์ดํ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ฌ๋ ์์์ ์ฌ๋ฌ ํฌ๊ธฐ ์ ์ฝ(์: width
, min-width
, max-width
)์ด ์ ์ฉ๋๋ฉด ์ถฉ๋์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ๋ด์ฌ์ ํฌ๊ธฐ ์ ์ฝ ํด๊ฒฐ์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ์ถฉ๋์ ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง ์ดํดํ๋ ๊ฒ์ ๊ฒฌ๊ณ ํ๊ณ ์์ธก ๊ฐ๋ฅํ ๋ ์ด์์์ ๋ง๋๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
๋ด์ฌ์ ํฌ๊ธฐ(Intrinsic Sizes)๋ ๋ฌด์์ธ๊ฐ?
๋ด์ฌ์ ํฌ๊ธฐ๋ ์์๊ฐ ์ฝํ
์ธ ๋ก๋ถํฐ ํ์ํ๋ ํฌ๊ธฐ์
๋๋ค. ๋ช
์์ ํฌ๊ธฐ(์: width: 200px
)์ ๋ฌ๋ฆฌ, ๋ด์ฌ์ ํฌ๊ธฐ๋ ๋ฏธ๋ฆฌ ์ ์๋์ง ์๊ณ ์์์ ์ฝํ
์ธ ๋ฐ ๊ธฐํ ์คํ์ผ ์์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ๊ณ์ฐ๋ฉ๋๋ค. ๋ ๊ฐ์ง ์ฃผ์ ๋ด์ฌ์ ํฌ๊ธฐ ํค์๋๋ min-content
์ max-content
์
๋๋ค.
- min-content: ์ฝํ ์ธ ๊ฐ ๋์น์ง ์์ผ๋ฉด์ ์์๊ฐ ๊ฐ์ง ์ ์๋ ๊ฐ์ฅ ์์ ํฌ๊ธฐ๋ฅผ ๋ํ๋ ๋๋ค. ์ฝํ ์ธ ๋ฅผ ํ ์ค์ ๋๋ ๊ฐ๋ฅํ ๊ฐ์ฅ ์์ ์์์ ํ์ํ๋ ๋ฐ ํ์ํ ๋๋น๋ ๋์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค.
- max-content: ์์๊ฐ ์ฝํ ์ธ ๋ฅผ ์ค ๋ฐ๊ฟํ๊ฑฐ๋ ์๋ฅด์ง ์๊ณ ๋ชจ๋ ํ์ํ๊ธฐ ์ํด ๊ฐ์ง ์ด์์ ์ธ ํฌ๊ธฐ๋ฅผ ๋ํ๋ ๋๋ค. ํฌ๊ธฐ ์ ์ฝ์ด ์์ ๋ ์์๊ฐ ์์ฐ์ค๋ฝ๊ฒ ์ฐจ์งํ ํฌ๊ธฐ์ ๋๋ค.
auto
ํค์๋๋ ํนํ ํ๋ ์ค๋ฐ์ค(flexbox) ๋ฐ ๊ทธ๋ฆฌ๋ ๋ ์ด์์์์ ๋ด์ฌ์ ํฌ๊ธฐ ์กฐ์ ์ผ๋ก ์ด์ด์ง ์ ์์ต๋๋ค. ํญ๋ชฉ์ ํฌ๊ธฐ๊ฐ auto
๋ก ์ง์ ๋๋ฉด, ๋ธ๋ผ์ฐ์ ๋ ์ข
์ข
ํญ๋ชฉ์ ์ฝํ
์ธ ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํฉ๋๋ค.
์ ์ฝ ํด๊ฒฐ ์๊ณ ๋ฆฌ์ฆ: ๋ธ๋ผ์ฐ์ ๊ฐ ์ถฉ๋ํ๋ ํฌ๊ธฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ
์์์ ์ฌ๋ฌ ํฌ๊ธฐ ์ ์ฝ(์: width
, min-width
, max-width
๋ฐ ์์์ ๋ด์ฌ์ ์ฝํ
์ธ ํฌ๊ธฐ)์ด ์ ์ฉ๋ ๋, ๋ธ๋ผ์ฐ์ ๋ ์ต์ข
ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๊ธฐ ์ํด ํน์ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ฆ
๋๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ์ํ ์ ์๋ ๋ชจ๋ ์ถฉ๋์ ํด๊ฒฐํ๋ฉด์ ๊ฐ๋ฅํ ํ ๋ชจ๋ ์ ์ฝ์ ๋ง์กฑ์ํค๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
์ ์ฝ ํด๊ฒฐ ๊ณผ์ ์ ๊ฐ๋ตํ ๊ฐ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ ํธ ํฌ๊ธฐ ๊ณ์ฐ: ๋ธ๋ผ์ฐ์ ๋ ๋จผ์ ์์์ '์ ํธ ํฌ๊ธฐ'๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ์ด๋ ์ง์ ์ง์ ๋
width
์ผ ์๋ ์๊ณ , ๋ช ์์ ๋๋น๊ฐ ์ฃผ์ด์ง์ง ์์ ๊ฒฝ์ฐ ๋ด์ฌ์ max-content
ํฌ๊ธฐ์ผ ์๋ ์์ต๋๋ค. - `min-width` ๋ฐ `max-width` ์ ์ฉ: ๊ทธ๋ฐ ๋ค์ ๋ธ๋ผ์ฐ์ ๋ ์ ํธ ํฌ๊ธฐ๊ฐ
min-width
์max-width
๋ก ์ ์๋ ๋ฒ์ ๋ด์ ์๋์ง ํ์ธํฉ๋๋ค. - ํฌ๊ธฐ ๊ณ ์ (Clamping): ์ ํธ ํฌ๊ธฐ๊ฐ
min-width
๋ณด๋ค ์์ผ๋ฉด ์ต์ข ํฌ๊ธฐ๋min-width
๋ก ์ค์ ๋ฉ๋๋ค. ์ ํธ ํฌ๊ธฐ๊ฐmax-width
๋ณด๋ค ํฌ๋ฉด ์ต์ข ํฌ๊ธฐ๋max-width
๋ก ์ค์ ๋ฉ๋๋ค. ์ด "๊ณ ์ "์ ์์๊ฐ ์ ์๋ ํฌ๊ธฐ ๊ฒฝ๊ณ ๋ด์ ๋จธ๋ฌด๋ฅด๋๋ก ๋ณด์ฅํฉ๋๋ค. - `auto` ๋ฐ ๋ด์ฌ์ ํฌ๊ธฐ ์กฐ์ ๊ณ ๋ ค: ํฌ๊ธฐ ์์ฑ ์ค ํ๋๊ฐ
auto
๋๋min-content
๋max-content
์ ๊ฐ์ ๋ด์ฌ์ ํฌ๊ธฐ ํค์๋๋ก ์ค์ ๋ ๊ฒฝ์ฐ, ๋ธ๋ผ์ฐ์ ๋ ๋ค๋ฅธ ์ ์ฝ์ ๊ณ ๋ คํ์ฌ ์ฝํ ์ธ ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํฉ๋๋ค.
์์: ๊ฐ๋จํ ์ค๋ช
๋ค์ CSS๋ฅผ ๊ณ ๋ คํด ๋ณด์ธ์:
.element {
width: 300px;
min-width: 200px;
max-width: 400px;
}
์ด ๊ฒฝ์ฐ, ์ ํธ ๋๋น๋ 300px์ด๋ฉฐ, ์ด๋ min-width
(200px)์ max-width
(400px) ๋ฒ์ ๋ด์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์์์ ์ต์ข
๋๋น๋ 300px๊ฐ ๋ฉ๋๋ค.
์ด์ width
๋ฅผ 150px๋ก ๋ณ๊ฒฝํด ๋ณด๊ฒ ์ต๋๋ค:
.element {
width: 150px;
min-width: 200px;
max-width: 400px;
}
์ ํธ ๋๋น๋ ์ด์ 150px์ด๋ฉฐ, ์ด๋ min-width
(200px)๋ณด๋ค ์์ต๋๋ค. ๋ธ๋ผ์ฐ์ ๋ ๋๋น๋ฅผ 200px๋ก ๊ณ ์ ํ์ฌ ์ต์ข
๋๋น๋ก ๋ง๋ญ๋๋ค.
๋ง์ง๋ง์ผ๋ก, width
๋ฅผ 450px๋ก ์ค์ ํด ๋ณด๊ฒ ์ต๋๋ค:
.element {
width: 450px;
min-width: 200px;
max-width: 400px;
}
์ ํธ ๋๋น๋ 450px์ด๋ฉฐ, ์ด๋ max-width
(400px)๋ฅผ ์ด๊ณผํฉ๋๋ค. ๋ธ๋ผ์ฐ์ ๋ ๋๋น๋ฅผ 400px๋ก ๊ณ ์ ํ์ฌ ์ต์ข
๋๋น๋ก ๊ฒฐ์ ํฉ๋๋ค.
์ค์ฉ์ ์ธ ์์ ๋ฐ ์ฌ์ฉ ์ฌ๋ก
1. ๋ด์ฌ์ ๋น์จ์ ์ด์ฉํ ๋ฐ์ํ ์ด๋ฏธ์ง
์ด๋ฏธ์ง๋ฅผ ๋ฐ์ํ์ผ๋ก ๋ง๋ค๋ฉด์ ์ข ํก๋น๋ฅผ ์ ์งํ๋ ๊ฒ์ ์ผ๋ฐ์ ์ธ ๊ณผ์ ์ ๋๋ค. ๋ด์ฌ์ ํฌ๊ธฐ ์กฐ์ ์ด ๋์์ด ๋ ์ ์์ต๋๋ค.
.responsive-image {
width: 100%;
height: auto; /* ๋์ด๊ฐ ๋น๋ก์ ์ผ๋ก ์กฐ์ ๋๋๋ก ํ์ฉ */
}
width
๋ฅผ 100%๋ก, height
๋ฅผ auto
๋ก ์ค์ ํ๋ฉด ์ด๋ฏธ์ง๋ ์๋์ ์ข
ํก๋น๋ฅผ ์ ์งํ๋ฉด์ ์ปจํ
์ด๋์ ๋ง๊ฒ ํฌ๊ธฐ๊ฐ ์กฐ์ ๋ฉ๋๋ค. ๋ธ๋ผ์ฐ์ ๋ ๋๋น์ ์ด๋ฏธ์ง์ ๊ณ ์ ํ ๋น์จ์ ๊ธฐ๋ฐ์ผ๋ก ๋ด์ฌ์ ๋์ด๋ฅผ ๊ณ์ฐํฉ๋๋ค.
๊ตญ์ ์ ์์: ์ด ์ ๊ทผ ๋ฐฉ์์ ์ด๋ฏธ์ง์ ์ถ์ฒ(์: ์ผ๋ณธ์ ์ฌ์ง, ์ดํ๋ฆฌ์์ ๊ทธ๋ฆผ, ์บ๋๋ค์ ๋์งํธ ๊ทธ๋ํฝ)์ ๊ด๊ณ์์ด ๋ณดํธ์ ์ผ๋ก ์ ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ์ข ํก๋น ๋ณด์กด์ ๋ค์ํ ์ด๋ฏธ์ง ์ ํ๊ณผ ๋ฌธํ๊ถ์์ ์ผ๊ด๋๊ฒ ์๋ํฉ๋๋ค.
2. `min-content` ๋ฐ `max-content`๋ฅผ ์ฌ์ฉํ ๋์ ์ฝํ ์ธ
๊ธธ์ด๋ฅผ ์ ์ ์๋ ๋์ ์ฝํ
์ธ (์: ์ฌ์ฉ์ ์์ฑ ํ
์คํธ)๋ฅผ ๋ค๋ฃฐ ๋ min-content
์ max-content
๊ฐ ํนํ ์ ์ฉํ ์ ์์ต๋๋ค.
.dynamic-text {
width: max-content; /* ์์๋ ์ฝํ
์ธ ๋๋น๋งํผ๋ง ๋์ด์ง */
white-space: nowrap; /* ํ
์คํธ ์ค ๋ฐ๊ฟ ๋ฐฉ์ง */
overflow: hidden; /* ๋์น๋ ์ฝํ
์ธ ์จ๊ธฐ๊ธฐ */
text-overflow: ellipsis; /* ์๋ฆฐ ํ
์คํธ์ ๋ํด ๋ง์ค์ํ(...) ํ์ */
}
์ด ์์ ์์ width: max-content
๋ (white-space: nowrap
๋๋ฌธ์) ์์๊ฐ ์ ์ฒด ํ
์คํธ ์ฝํ
์ธ ๋ฅผ ํ ์ค์ ๋ชจ๋ ์์ฉํ ์ ์๋๋ก ํ์ฅ๋๊ฒ ํฉ๋๋ค. ์ฝํ
์ธ ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ๋ณด๋ค ๋๋ฌด ๊ธธ๋ฉด overflow: hidden
๋ฐ text-overflow: ellipsis
์์ฑ์ด ํ
์คํธ๋ฅผ ์๋ฅด๊ณ ๋ง์ค์ํ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
๊ตญ์ ์ ์์: ์ ํ๋ช
์ ํ์ํ๋ ์น์ฌ์ดํธ๋ฅผ ์๊ฐํด ๋ณด์ธ์. ์ผ๋ถ ์ธ์ด(์: ๋
์ผ์ด)์์๋ ์ ํ๋ช
์ด ๋ค๋ฅธ ์ธ์ด(์: ์ผ๋ณธ์ด ๋๋ ํ๊ตญ์ด)๋ณด๋ค ํจ์ฌ ๊ธธ ์ ์์ต๋๋ค. max-content
๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ์ด์์์ด ๊นจ์ง์ง ์์ผ๋ฉด์ ์์๊ฐ ๋ชจ๋ ์ธ์ด์ ์ ํ๋ช
๊ธธ์ด์ ๋ง๊ฒ ์กฐ์ ๋ฉ๋๋ค.
3. `min-content`๋ก ๋ฒํผ ํฌ๊ธฐ ์ ์ดํ๊ธฐ
๋ฒํผ์ ์ด์์ ์ผ๋ก ํ
์คํธ ๋ ์ด๋ธ์ ์์ฉํ ๋งํผ ์ถฉ๋ถํ ์ปค์ผ ํ์ง๋ง, ์ง๋์น๊ฒ ๋์ด์๋ ์ ๋ฉ๋๋ค. min-content
๊ฐ ์ด๋ฅผ ๋ฌ์ฑํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
.button {
min-width: min-content; /* ๋ฒํผ์ ์ต์ํ ์ฝํ
์ธ ๋๋น๋งํผ ๋์ด์ง */
padding: 10px 20px; /* ์๊ฐ์ ๋งค๋ ฅ์ ์ํด ์ถ๊ฐ ํจ๋ฉ ์ถ๊ฐ */
}
min-width: min-content
๋ ํ
์คํธ๊ฐ ๋น๊ต์ ๊ธธ๋๋ผ๋ ๋ฒํผ์ด ํญ์ ํ
์คํธ๋ฅผ ํ์ํ ๋งํผ ์ถฉ๋ถํ ๋๋๋ก ๋ณด์ฅํฉ๋๋ค. ํจ๋ฉ์ ํ
์คํธ ์ฃผ์์ ์๊ฐ์ ๊ณต๊ฐ์ ์ถ๊ฐํฉ๋๋ค.
๊ตญ์ ์ ์์: ๋ฒํผ ๋ ์ด๋ธ์ ์ข
์ข
๋ค๋ฅธ ์ธ์ด๋ก ํ์งํ๋ฉ๋๋ค. min-content
๋ ํ์งํ๋ ํ
์คํธ์ ๊ธธ์ด์ ๊ด๊ณ์์ด ๋ฒํผ์ด ๊ฐ๋
์ฑ์ ์ ์งํ๊ณ ๋ฏธํ์ ์ผ๋ก ๋ณด๊ธฐ ์ข๊ฒ ์ ์ง๋๋๋ก ๋ณด์ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์์ด๋ก "Search"๋ผ๋ ๋ ์ด๋ธ์ด ๋ถ์ ๋ฒํผ์ ํ๋์ค์ด๋ก "Rechercher"๊ฐ ๋์ด ๋ ๋ง์ ์ํ ๊ณต๊ฐ์ด ํ์ํ ์ ์์ต๋๋ค.
4. ํ๋ ์ค๋ฐ์ค ๋ ์ด์์๊ณผ ๋ด์ฌ์ ํฌ๊ธฐ
ํ๋ ์ค๋ฐ์ค๋ ๋ด์ฌ์ ํฌ๊ธฐ๋ฅผ ๊ด๋ฒ์ํ๊ฒ ํ์ฉํฉ๋๋ค. ํ๋ ์ค ์์ดํ
์ width
๋ height
๊ฐ auto
๋ก ์ค์ ๋๋ฉด, ๋ธ๋ผ์ฐ์ ๋ ์์ดํ
์ ์ฝํ
์ธ ์ ํ๋ ์ค ์ปจํ
์ด๋ ๋ด์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํฉ๋๋ค.
.flex-container {
display: flex;
}
.flex-item {
flex: 1; /* ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ๊ท ๋ฑํ๊ฒ ๋ถ๋ฐฐ */
width: auto; /* ๋๋น๊ฐ ์ฝํ
์ธ ๋ฐ ํ๋ ์ค ์์ฑ์ ์ํด ๊ฒฐ์ ๋๋๋ก ํ์ฉ */
}
์ด ์์ ์์ flex: 1
์์ฑ์ ํ๋ ์ค ์์ดํ
๋ค์ด ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ๊ท ๋ฑํ๊ฒ ๊ณต์ ํ๋๋ก ์ง์ํฉ๋๋ค. width: auto
๋ ๋ธ๋ผ์ฐ์ ๊ฐ ํ๋ ์ค ์ปจํ
์ด๋์ ์ ์ฝ์ ๋ฐ๋ผ ์ฝํ
์ธ ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ดํ
์ ๋๋น๋ฅผ ๊ณ์ฐํ ์ ์๊ฒ ํฉ๋๋ค.
๊ตญ์ ์ ์์: ํ๋ ์ค๋ฐ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ๋ ๋ด๋น๊ฒ์ด์
๋ฐ๋ฅผ ์๊ฐํด ๋ณด์ธ์. ๋ด๋น๊ฒ์ด์
ํญ๋ชฉ(์: "Home", "About", "Services")์ ๋ค๋ฅธ ์ธ์ด๋ก ๋ฒ์ญ๋ ๋ ๊ธธ์ด๊ฐ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค. flex: 1
๊ณผ width: auto
๋ฅผ ์ฌ์ฉํ๋ฉด ํญ๋ชฉ์ด ์ฝํ
์ธ ๊ธธ์ด์ ์ ์ํ๊ณ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ๋น๋ก์ ์ผ๋ก ๋ถ๋ฐฐํ์ฌ ์ฌ๋ฌ ์ธ์ด์ ๊ฑธ์ณ ๊ท ํ ์กํ๊ณ ์๊ฐ์ ์ผ๋ก ๋งค๋ ฅ์ ์ธ ๋ ์ด์์์ ๋ณด์ฅํ ์ ์์ต๋๋ค.
5. ๊ทธ๋ฆฌ๋ ๋ ์ด์์๊ณผ ๋ด์ฌ์ ํฌ๊ธฐ
ํ๋ ์ค๋ฐ์ค์ ์ ์ฌํ๊ฒ ๊ทธ๋ฆฌ๋ ๋ ์ด์์๋ ๋ด์ฌ์ ํฌ๊ธฐ ์กฐ์ ์ ์ง์ํฉ๋๋ค. ๊ทธ๋ฆฌ๋ ํธ๋ ํฌ๊ธฐ๋ฅผ ์ ์ํ ๋ min-content
์ max-content
๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
.grid-container {
display: grid;
grid-template-columns: min-content auto max-content;
}
์ด ๊ทธ๋ฆฌ๋ ๋ ์ด์์์์ ์ฒซ ๋ฒ์งธ ์ด์ ๊ฐ์ฅ ํฐ ์
์ ์ต์ ์ฝํ
์ธ ํฌ๊ธฐ์ ๋ง์ถฐ์ง๊ณ , ๋ ๋ฒ์งธ ์ด์ ๋จ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ์ฐจ์งํ๋ฉฐ(auto
), ์ธ ๋ฒ์งธ ์ด์ ๊ฐ์ฅ ํฐ ์
์ ์ต๋ ์ฝํ
์ธ ํฌ๊ธฐ์ ๋ง์ถฐ์ง๋๋ค.
๊ตญ์ ์ ์์: ๊ทธ๋ฆฌ๋ ๋ ์ด์์์ผ๋ก ํ์๋ ์ ํ ์นดํ๋ก๊ทธ๋ฅผ ์์ํด ๋ณด์ธ์. ์ฒซ ๋ฒ์งธ ์ด์๋ ์ ํ ์ด๋ฏธ์ง๊ฐ, ๋ ๋ฒ์งธ ์ด์๋ ์ ํ๋ช
(์ธ์ด์ ๋ฐ๋ผ ๊ธธ์ด๊ฐ ํฌ๊ฒ ๋ค๋ฆ)์ด, ์ธ ๋ฒ์งธ ์ด์๋ ๊ฐ๊ฒฉ ์ ๋ณด๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. grid-template-columns: 1fr max-content 1fr;
๋ฅผ ์ฌ์ฉํ๋ฉด ์ ํ๋ช
์ด ํ์ํ ๊ณต๊ฐ์ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ฉด์๋ ์ ์ฒด์ ์ธ ์ด ๊ท ํ์ ์ ์งํ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ธ ํจ์ ๊ณผ ์ด๋ฅผ ํผํ๋ ๋ฐฉ๋ฒ
- ์ถฉ๋ํ๋ `width`์ `max-width`:
max-width
๋ฅผ ์ด๊ณผํ๋ ๊ณ ์ width
๋ฅผ ์ค์ ํ๋ฉด ์์๊ฐmax-width
๋ก ๊ณ ์ ๋์ด ์๊ธฐ์น ์์ ๋ ์ด์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.width
,min-width
,max-width
๊ฐ ์ผ๊ด๋๊ณ ๋ ผ๋ฆฌ์ ์ธ์ง ํ์ธํ์ธ์. - `min-content`๋ก ์ธํ ์ฝํ
์ธ ๋์นจ: ์ ์ ํ ์ค๋ฒํ๋ก ์ฒ๋ฆฌ(์:
overflow: hidden
,text-overflow: ellipsis
) ์์ดmin-content
๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝํ ์ธ ๊ฐ ์์์ ๊ฒฝ๊ณ๋ฅผ ๋์ด์ ๋ ์ด์์์ ๋ฐฉํดํ ์ ์์ต๋๋ค. - ์๊ธฐ์น ์์ ์ค ๋ฐ๊ฟ: ๊ธด ํ
์คํธ ๋ฌธ์์ด์
max-content
๋ฅผ ์ฌ์ฉํ ๋ ํ ์คํธ๊ฐ ์์๋๋ก ์ค ๋ฐ๊ฟ๋์ง ์์ ์ํ ์คํฌ๋กค์ด๋ ๋ ์ด์์ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์๋ค๋ ์ ์ ์ ์ํ์ธ์. ํ์ํ ๊ฒฝ์ฐ ํ ์คํธ๊ฐ ์์์ ์ง์ ์์ ์ค ๋ฐ๊ฟ๋๋๋กword-break: break-word
์ฌ์ฉ์ ๊ณ ๋ คํ์ธ์. - ๋ด์ฌ์ ๋น์จ ๋ฌด์: ์ด๋ฏธ์ง๋ ๋ค๋ฅธ ๋ฏธ๋์ด์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ๋ ์๊ณก์ ํผํ๊ธฐ ์ํด ํญ์ ๋ด์ฌ์ ์ข
ํก๋น๋ฅผ ๊ณ ๋ คํ์ธ์. ์ฌ๋ฐ๋ฅธ ๋น์จ์ ์ ์งํ๋ ค๋ฉด
width: 100%
์ ํจ๊ปheight: auto
๋ฅผ ์ฌ์ฉํ์ธ์.
๋ด์ฌ์ ํฌ๊ธฐ ์ ์ฝ ํด๊ฒฐ ์ฌ์ฉ์ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
- ์๊ณ ๋ฆฌ์ฆ ์ดํดํ๊ธฐ: ๋ธ๋ผ์ฐ์ ๊ฐ ์ถฉ๋ํ๋ ํฌ๊ธฐ ์์ฑ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ์ง ์์ธกํ๊ธฐ ์ํด ์ ์ฝ ํด๊ฒฐ ์๊ณ ๋ฆฌ์ฆ์ ์ต์ํด์ง์ธ์.
- `min-content` ๋ฐ `max-content` ์ ์คํ๊ฒ ์ฌ์ฉํ๊ธฐ: ์ด ํค์๋๋ค์ ๊ฐ๋ ฅํ์ง๋ง ์ ์คํ๊ฒ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์๊ธฐ์น ์์ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค. ๋ค์ํ ์ฝํ ์ธ ๊ธธ์ด์ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์์ ๋ ์ด์์์ ์ฒ ์ ํ ํ ์คํธํ์ธ์.
- ํ๋ ์ค๋ฐ์ค ๋ฐ ๊ทธ๋ฆฌ๋์ ๊ฒฐํฉํ๊ธฐ: ํ๋ ์ค๋ฐ์ค ๋ฐ ๊ทธ๋ฆฌ๋ ๋ ์ด์์์ ๋ด์ฌ์ ํฌ๊ธฐ๋ฅผ ๊ด๋ฆฌํ๊ณ ์ ์ฐํ๊ณ ๋ฐ์ํ์ธ ๋ ์ด์์์ ๋ง๋๋ ํ๋ฅญํ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ ์์ ํ ์คํธํ๊ธฐ: ์ ์ฝ ํด๊ฒฐ ์๊ณ ๋ฆฌ์ฆ์ ํ์คํ๋์ด ์์ง๋ง, ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ฅผ ๊ตฌํํ๋ ๋ฐฉ์์๋ ๋ฏธ๋ฌํ ์ฐจ์ด๊ฐ ์์ ์ ์์ต๋๋ค. ์ผ๊ด๋ ๋์์ ๋ณด์ฅํ๊ธฐ ์ํด ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ ์์ ๋ ์ด์์์ ํ ์คํธํ์ธ์.
- ๊ฐ๋ฐ์ ๋๊ตฌ ์ฌ์ฉํ๊ธฐ: ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ๋ ์์์ ํฌ๊ธฐ๊ฐ ์ด๋ป๊ฒ ๊ฒฐ์ ๋๋์ง์ ๋ํ ๊ท์คํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํฉ๋๋ค. "Computed" ํญ์ ์ฌ์ฉํ์ฌ ์์์ ์ต์ข ๋๋น์ ๋์ด๋ฅผ ๊ฒ์ฌํ๊ณ ํฌ๊ธฐ ์ ์ฝ ์ถฉ๋์ ์๋ณํ์ธ์.
๊ฒฐ๋ก
CSS ๋ด์ฌ์ ํฌ๊ธฐ ์ ์ฝ ํด๊ฒฐ์ ์ดํดํ๋ ๊ฒ์ ๊ฒฌ๊ณ ํ๊ณ ๋ฐ์ํ์ด๋ฉฐ ์ ์ง๋ณด์ ๊ฐ๋ฅํ ์น ๋ ์ด์์์ ๊ตฌ์ถํ๋ ๋ฐ ํ์์ ์
๋๋ค. min-content
, max-content
์ ๊ฐ๋
๊ณผ ์ ์ฝ ํด๊ฒฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ง์คํฐํ๋ฉด ๋ค์ํ ์ฝํ
์ธ ๊ธธ์ด, ํ๋ฉด ํฌ๊ธฐ ๋ฐ ์ธ์ด์ ์ฐ์ํ๊ฒ ์ ์ํ๋ ๋ ์ด์์์ ๋ง๋ค ์ ์์ต๋๋ค. ๋ ์ด์์์ ์ฒ ์ ํ ํ
์คํธํ๊ณ ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ํฌ๊ธฐ ์กฐ์ ๋ฌธ์ ๋ฅผ ๋๋ฒ๊น
ํ๋ ๊ฒ์ ์์ง ๋ง์ธ์. ์ด๋ฌํ ์์น์ ํ์คํ ์ดํดํ๋ฉด ๊ฐ์ฅ ๋ณต์กํ ๋ ์ด์์ ๋ฌธ์ ๋ ์ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋ ๊ฒ์
๋๋ค.
์ด ๊ฐ์ด๋๋ CSS ๋ด์ฌ์ ํฌ๊ธฐ ์ ์ฝ ํด๊ฒฐ์ ๋ํ ํฌ๊ด์ ์ธ ๊ฐ์๋ฅผ ์ ๊ณตํ๋ฉฐ, ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ , ์ค์ฉ์ ์ธ ์์ ๋ฐ ์ผ๋ฐ์ ์ธ ํจ์ ์ ๋ค๋ฃน๋๋ค. ์ด ๊ฐ์ด๋์ ์ค๋ช ๋ ๊ธฐ์ ๊ณผ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ ์ฉํ๋ฉด ์ฌ์ฉ์์ ์ฅ์น๋ ์ธ์ด์ ๊ด๊ณ์์ด ์๊ฐ์ ์ผ๋ก ๋งค๋ ฅ์ ์ด๊ณ ์ ๊ทผ ๊ฐ๋ฅํ๋ฉฐ ์ฑ๋ฅ์ด ๋ฐ์ด๋ ์น ํ์ด์ง๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.