
CSSμμ μνλ μμλ₯Ό μνλ μ₯μμ λ°°μΉνκ³ , μνλ λ μ΄μμμΌλ‘ νννκΈ° μν΄μλ
CSSμ Position, Display μμ± λ±μ λν μ΄ν΄κ° νμνλ€.
κ° μμμ λ°°μΉ, λ μ΄μμμ νννκ³
CSSμ λΌλλ₯Ό νμ±ν΄μ£Όλ κ°μ’
CSSμ λν΄μ 곡λΆν΄λ³΄μπ€
.box {
position: κ°;
/* μλμ κ°μ positionμ κ°μ΄ staticμΌ λλ μ μ©λμ§ μμ */
/* positionμ κ°μ κΈ°μ€μΌλ‘ ꡬ체μ μΈ μνμ’μ°μ μμΉλ₯Ό μ«μλ‘ μ§μ κ°λ₯νλ€! */
top: 1px;
bottom: 2px;
left: 3px;
right: 4px;
}
positionμ, μ΄λ¦ κ·Έλλ‘ μμΉλ₯Ό κ²°μ νλ μμ±μΌλ‘,
μμμ μμΉλ₯Ό μ΄λ€ κΈ°μ€μΌλ‘, μ΄λμ λ°°μΉμν¬ κ²μΈμ§ ννν μ μλ€.
μ λ¬Έμ₯μμ 'μ΄λ€ κΈ°μ€'μΌλ‘ λ°°μΉμν¬ κ²μΈμ§λΌκ³ νννλλ°
μ¬κΈ°μ λ§νλ 'κΈ°μ€'μ positionμ΄ μ 곡νκ³ μλ value κ°μ λ¨Όμ 보λ κ²μ΄ λΉ λ₯΄λ€.
| static | μ΄κΈ°κ°. κΈ°μ€ μμΉλ₯Ό μ€μ νμ§ μμ. |
|---|---|
| relative | νμ¬ μμΉλ₯Ό κΈ°μ€μΌλ‘ μλ μμΉλ₯Ό μ§μ . |
| absolute | λΆλͺ¨ μμΉλ₯Ό κΈ°μ€μΌλ‘ μ λ μμΉλ₯Ό μ§μ . |
| fixed | μλμ°(λΈλΌμ°μ μ°½)λ₯Ό κΈ°μ€μΌλ‘ μ λ μμΉλ₯Ό μ§μ νμ¬ μμλ₯Ό κ·Έ μμΉμ κ³ μ (fix)μν΄ |
| sticky | μ§μ λ μμΉμ λ·°ν¬νΈκ° λλ¬νμ λ, μμκ° κ·Έ μμΉμ κ³ μ (fix)λ¨ |
μν μ½λλ₯Ό 보며 νλνλ μμΈν μμ 보μβΊοΈ
staticμ positionμ κΈ°λ³Έκ°μΌλ‘, positionμ μ§μ νμ§ μμλ κΈ°λ³Έμ μΌλ‘ μ μ©λλ€.
μμ μν μ½λμμ style.css νμΌμ μ΄ν΄λ³΄μ.
positionμ΄ staticμΈ μνμλ
top, left, left, right, z-indexλ₯Ό μ§μ ν΄λ μμΉκ° λ³κ²½λμ§ μλλ€.
λ°λΌμ, μμλ₯Ό μνλ μμΉμ λ°°μΉμν€κ³ μΆμ κ²½μ°μλ
μ ν©ν μν©μ λ°λΌ μλμμ μΈκΈνκ³ μλ λ€λ₯Έ position κ°μ μ§μ ν΄μ€μΌνλ€.
relativeλ νμ¬ μμΉλ₯Ό κΈ°μ€μΌλ‘ μλ μμΉλ₯Ό μ§μ νκ² ν΄μ€λ€.
'μλ μμΉ'λΌλ λ§μ΄ μ΄ν΄νκΈ° μ΄λ ΅μ§λ§,
relativeλ μμ μκΈ° μμ μ μλ μμΉκ° κΈ°μ€μ μ΄ λλ€κ³ μκ°νλ©΄ κ°μ μ‘κΈ° μ½λ€.
relativeλ μμ μκΈ° μμ μ μλ μμΉκ° κΈ°μ€μ μ΄ λλ€κ³ νλλ°,
π¦ position: staticμ μν μ½λμμ κ° boxλ€μ μλ μμΉλ μ΄λμΌκΉ?
μ λ΅μ position κ°μ΄ staticλ‘ μ€μ λ μ± μμΉ,
position κ°μ΄ μ무 κ²λ μ€μ λμ§ μμμ λμ μμΉμ΄λ€.

(π μ¦ μ΄λ κ² ν¨μ΄νκ² μμΉλ μνκ° boxλ€μ μλ μμΉμ΄λ€!)
μ, κ·ΈλΌ μ΄μ μν μ½λλ₯Ό μ΄ν΄λ³΄μ.
μμ μ½λλ π¦ position: staticμ μν μ½λλ₯Ό κ°μ Έμμ relativeλ₯Ό μ μ©μν¨ κ²μ΄λ€.
λͺ¨λ boxμ position: relativeλ₯Ό μ§μ νκΈ° μν΄
boxλΌλ κ³΅ν΅ ν΄λμ€λ₯Ό μμ±νμ¬ relativeλ₯Ό μ μ©μμΌ°κ³ ,
κ° boxμ κ°λ³μ μΌλ‘ top, bottom, left, right λ±μΌλ‘ κ°κ°μ μμΉλ₯Ό μ§μ ν΄μ€ κ²°κ³Όμ΄λ€.

μλ₯Ό λ€μ΄ box2μ μ£Όλͺ©ν΄λ³΄μ.
νμ μμμ box2μ μλ μμΉλ₯Ό μλ―Ένλ©°,
λ
Ήμ μμμ relativeκ° μ μ©λ μ€μ box2μ μμΉλ₯Ό λνλΈλ€.
.box {
position: relative;
...
}
.box.two {
top: 30px; /* box2μ μλ μμΉμ μλ¨μΌλ‘λΆν° 30pxλ§νΌ μ΄λ */
left: 50px; /* box2μ μλ μμΉμ μ’μΈ‘μΌλ‘λΆν° 30pxλ§νΌ μ΄λ */
}
μ κ·Έλ¦Όμ λΉ¨κ° νμ΄νλ₯Ό μ£ΌμκΉκ² μ΄ν΄λ³΄μ!
box2λ νμ μμμΈ μλ μμΉλ₯Ό κΈ°μ€μ μΌλ‘ νμ¬
μλ¨(top)μμ 30pxλ§νΌ μ΄λ, μ’μΈ‘(left)μμ 50pxλ§νΌ μ΄λλ κ²μ΄λ€.
relativeκ° μ μ©λ λ€λ₯Έ boxλ€λ κ°μ μλ¦¬λ‘ μ΄λλ κ²μ΄λ€!
relativeμ νΉμ§ μ 리
top,left,left,rightμ μ§μ μ΄ κ°λ₯ν΄μ§λ€.z-indexμ μ§μ μ΄ κ°λ₯ν΄μ§λ€.relativeμ κΈ°μ€μ μ μμ μκΈ° μμ μ΄ μλ λ°°μΉλμλ μμΉμ΄λ€.absoluteμ κΈ°μ€ μμΉκ° λλ€ (μΆν μΈκΈ μμ !)
absoluteλ relativeλ fixedκ° μ§μ λ λΆλͺ¨ μμΉλ₯Ό κΈ°μ€μΌλ‘ μμ μ μμΉλ₯Ό μ§μ ν μ μκ² ν΄μ€λ€.
λ°λ‘ μν μ½λλ₯Ό μ΄ν΄ 보μ.
컀λ€λ νν¬μμ div.parentκ° boxλ€μ λΆλͺ¨μ΄λ€.
λΆλͺ¨μΈ parentμ position: relativeλ₯Ό μ§μ ν ν,
parentμ μμμμμΈ boxμκ² position: absoluteλ₯Ό μ€μ ν΄μ£Όμλ€.
κ·Έλ¦¬κ³ κ°κ°μ boxμ μνμ’μ° κ°μ μ μ ν μ€μ ν΄μ€ κ²°κ³Όμ΄λ€.
μ΄λ²μλ μμλ‘ box3λ₯Ό μμΈν μ΄ν΄λ³΄μ.

absoluteλ λΆλͺ¨ μμΉλ₯Ό κΈ°μ€μ μΌλ‘ μ€μ νμ¬ μμλ₯Ό μ΄λμν¬ μ μκ² ν μ μλ€.
box3μ parentμ μ’μΈ‘ μμμ (left)μΌλ‘λΆν° 200px,
νλ¨ μμμ (bottom)μΌλ‘λΆν° 100pxλ§νΌ μ΄λλ κ³³μ μμΉνκ² λ κ²μ΄λ€.
absoluteμ νΉμ§ μ 리
- λΆλͺ¨ μμ(=κΈ°μ€ μμΉ)μ
relativeλλfixedλ₯Ό μ§μ ν΄μΌνλ€.- μμ μμ(=μ΄λμν€κ³ μΆμ μμ)μ
absoluteλ₯Ό μ§μ νλ€.- μμ μμλ₯Ό
top,left,left,rightλ±μΌλ‘ ꡬ체μ μΈ μμΉλ₯Ό μ‘°μ ν μ μλ€.
fixedλ λΈλΌμ°μ νλ©΄(μλμ°)μ κΈ°μ€μΌλ‘ μμλ₯Ό μ ν΄μ§ μμΉμ κ³ μ (fix)μν¬ μ μλ€.
μμ μν μ½λμ style.cssμμ ν¬μΈνΈλ μλμ ꡬ문μ΄λ€.
.btn-top {
position: fixed;
...
right: 20px;
bottom: 60px;
...
}
νμ΄μ§ νμΌλ‘ ν₯νκ² ν΄μ£Όλ .btn-topμ position: fixedλ₯Ό μ€μ ν΄μ£Όμλ€.
μμμ μΈκΈνλ―μ΄, fixedλ λΈλΌμ°μ νλ©΄μ΄ κΈ°μ€μ μ΄ λλ€.
.btn-topμ λΈλΌμ°μ νλ©΄ μ°μΈ‘(right)μΌλ‘λΆν° 20px,
λΈλΌμ°μ νλ©΄ νλ¨(bottom)μΌλ‘λΆν° 60pxμΌλ‘λΆν° λ¨μ΄μ§ κ³³μ btn-topλ²νΌμ΄ μμΉνκ² λμλ€.
fixedλ μ΄λ¦ κ·Έλλ‘ μμλ₯Ό μ§μ ν μμΉμ κ³ μ (fix)μμΌμ£ΌκΈ° λλ¬Έμ
μ€ν¬λ‘€μ ν΄λ .btn-top λ²νΌμ΄ μ§μ λ μμΉμ κ·Έλλ‘ μ리νκ³ μλ€λ κ²μ μ μ μλ€!
μ΄λ κ² fixedλ μμλ₯Ό νμ΄μ§μ μνλ μμΉμ νμ κ³ μ μν¬ μ μκΈ° λλ¬Έμ μμ£Ό μ μ©νκ² μ¬μ©λλ κ°μ΄λ€.
μν μ½λμμ μ¬μ©ν νμ΄μ§ ν λ²νΌ λΏλ§ μλλΌ,
headerλ₯Ό νμ΄μ§ μλ¨μ κ³ μ μν¬ λλ λΉλ²νκ² μ¬μ©λλ€.
fixedμ νΉμ§ μ 리
- λΈλΌμ°μ νλ©΄(μλμ°) μ μ²΄κ° κΈ°μ€μ μ΄ λλ€.
- μ€ν¬λ‘€μ ν΄λ μμκ° μ§μ λ μμΉμ κ³μ κ³ μ λμ΄ μλ€.
top,left,left,rightμ μ§μ μ΄ κ°λ₯νλ€.z-indexμ μ§μ μ΄ κ°λ₯νλ€.
positionμ λ§μ§λ§ κ°, stickyμ΄λ€.
stickyλ μμκ° μ§μ λ κΈ°μ€μ (top, left, left, right λ±μΌλ‘ μ€μ ν΄λ μμΉ)μ λλ¬νμ λ, κ·Έ κΈ°μ€μ μ μμλ₯Ό κ³ μ (fix)μμΌμ€λ€.
μ΄κ²λ μ€μ μ½λλ₯Ό 보λ κ²μ΄ λΉ λ₯΄λ€.
div.menuμ position: stickyλ₯Ό μ€μ νκ³ ,
κΈ°μ€μ μΌλ‘ top: 0μ μ€μ ν΄μ€¬λ€.
μ¬κΈ°μ top: 0μ λΈλΌμ°μ (μλμ°)μ μ΅μλ¨ μ§μ μ λ§νλ€.
νμ΄μ§λ₯Ό μ€ν¬λ‘€νμ¬ div.menuκ° top: 0=λΈλΌμ°μ μ μ΅μλ¨ μ§μ μ λλ¬νμ λ
κ·Έ μμΉ κ·Έλλ‘ div.menuκ° κ³ μ (fix)λλ κ²μ νμΈν μ μλ€!
stickyμ νΉμ§ μ 리
- λΈλΌμ°μ νλ©΄(μλμ°) μ μ²΄κ° κΈ°μ€μ μ΄ λλ€.
- κΈ°μ€μ μ λλ¬νμ λ μμκ° κ·Έ μμΉ(κΈ°μ€μ )μ κ³ μ (fix)λλ€.
top,left,left,rightμ μ§μ μ΄ κ°λ₯νλ€.z-indexμ μ§μ μ΄ κ°λ₯νλ€.
.element {
display: κ°;
}
- display CSS μμ±μ μμλ₯Ό λΈλ‘κ³Ό μΈλΌμΈ μμ μ€ μ΄λ μͺ½μΌλ‘ μ²λ¦¬ν μ§μ ν¨κ», νλ‘μ°, 그리λ, νλ μ€μ²λΌ μμ μμλ₯Ό λ°°μΉν λ μ¬μ©ν λ μ΄μμμ μ€μ ν©λλ€.
- μΆμ²: display - MDN
display μμ±κ°μ ν¬κ² display-outside κ·Έλ£Ήκ³Ό display-inline κ·Έλ£ΉμΌλ‘ λλλ€.
display-outside κ·Έλ£Ήμ ν΄λΉλλ κ°λ€μ μμμ μΈλΆμ μΈ μ±μ§μ μ€μ ν μ μλ€.
μ€μ λ μ±μ§μ λ°λΌ μμμ λ°°μΉ λ°©λ², λ μ΄μμμ΄ λ¬λΌμ§λ―λ‘
μ μ¬μ μμ μ ν©ν κ°μ μ€μ ν΄μ£Όμ΄μΌ νλ€.
display-outsideμ κ°μλ block, inline, (inline-block) λ±μ΄ μλ€.
display-inline κ·Έλ£Ήμ ν΄λΉλλ κ°λ€μ μμ λ΄λΆμ μμ μμλ₯Ό λ°°μΉνλ λ°©λ²μ μ€μ ν μ μλ€.
display-insideμ κ°μλ flex, grid, table λ±μ΄ μλ€.
π
μ΄λ² κΈμμλ display-outside μμ±μΈ
block, inline, inline-blockμ λν΄ μμ보μ νλ€.
κ°κ°μ λν΄ κ΅¬μ²΄μ μΌλ‘ μμ보μ.
display: blockμ μμκ° λ·° ν¬νΈμ κ°λ‘ μμμ 100% μ μ νκ² λλ νΉμ§μ κ°μ§κ³ μλ€.
λλ¬Έμ block νΉμ±μ κ°μ§ μμμ μΈμ λ λ€λ₯Έ μμλ μ μμΌλ‘ λ°°μΉλ μ μμΌλ©°,
λΈλμ΄ μμ΄λ― μΈλ‘λ‘ λ°°μ΄λλ κ²μ΄ νΉμ§μ΄λ€.
λν width, height, margin, paddingμ μ€μ μ΄ κ°λ₯νκΈ° λλ¬Έμ
μμμ μ¬μ΄μ¦λ μΈκ΄μ μ μ΄νκΈ° μ©μ΄νκΈ° λλ¬Έμ λΉλ²νκ² μ¬μ©λλ€.
block νΉμ±μ κ°μ§ μμ(Block-level elements)λ
λνμ μΌλ‘ <div>, <p>, <h1>, <ul> λ±μ΄ μλ€.
μ°Έκ³ λ§ν¬: κ·Έ μΈμ block νΉμ±μ κ°μ§ μμλ€
blockμ νΉμ§ μ 리
- λΈλμ²λΌ μΈλ‘λ‘ μμ΄λ λ―μ΄ λμ΄λλ κ²μ΄ νΉμ§
width,height,margin,paddingμ μ€μ μ΄ κ°λ₯νμ¬ μμ λκ° λλ€.
inlineμ blockκ³Όλ λ¬λ¦¬,
κ° μμκ° μΈμ λ μμμ μ μμΌλ‘ λμ΄λλ κ²μ΄ κ°λ₯νλ€.
νμ§λ§ inline μμμκ² width, height κ°μ μ μ©ν μ μλ€!
λ°λΌμ inline μμ±μ μ§λ μμμ μ¬μ΄μ¦λ, μμ λ΄λΆ 컨ν
μΈ μ체μ μ¬μ΄μ¦(ν°νΈ μ¬μ΄μ¦, ν
μ€νΈ λ, μ΄λ―Έμ§μ κ°λ‘ μΈλ‘ ν¬κΈ° λ±)μ λ°λΌ κ²°μ λλ€.
λν blockκ³Όλ λ¬λ¦¬
marginμ μ’μ°κ°μΈ margin-left, margin-rightλ§ μ μ©λλ€.
paddingμ μνμ’μ° λͺ¨λ μ€μ μ΄ κ°λ₯νκΈ΄ νμ§λ§,
μν paddingμΈ padding-top, padding-bottomμ
λ€λ₯Έ μμμκ² μν₯μ λΌμΉμ§ λͺ»νλ€.
μμ μν μ½λμ b.padding-textλ₯Ό 보면
padding-topμ μ μ©ν΄μ€¬μμλ κ°κ°μ b.padding-textκ°
λ€λ₯Έ b.padding-textμ padding-topλ§νΌμ λΆλΆμ μΈμνμ§ λͺ»νλ κ²μ μ μ μλ€.
inline νΉμ±μ κ°μ§ μμ(Inline elements)λ
λνμ μΌλ‘ <a>, <span>, <img>, <svg> λ±μ΄ μλ€.
μ°Έκ³ λ§ν¬: κ·Έ μΈμ inline νΉμ±μ κ°μ§ μμλ€
inlineμ νΉμ§ μ 리
- μμλ₯Ό κ°λ‘λ‘ λμ΄ν μ μλ€.
width,heightμ μ€μ μ΄ λΆκ°λ₯νλ€.marginμ μ’μ° κ°λ§ μ€μ μ΄ κ°λ₯νλ€.paddingμ μνμ’μ° μ€μ μ΄ κ°λ₯νμ§λ§, μνμpaddingμ λ€λ₯Έ μμμκ² μν₯μ μ€ μ μλ€.text-alignμvertical-alignμ μ§μ νλ κ²μ΄ κ°λ₯νλ€.
inline-blockμ inlineκ³Ό blockμ΄ μ§¬λ½ λλ―ν(?) μμ±μ΄λ€.
κ°λ¨ν λ§νλ©΄, μμμ λ°°μΉλ inlineμ μΈ μ±μ§μ κ°μ§κ³ μκ³
μμμ ννλ blockμ μΈ μ±μ§μ κ°μ§κ³ μλ€.
inline-blockμ inlineμ²λΌ μμκ° μμΌλ‘ λμ΄λλ νΉμ§μ κ°μ§κ³ μμΌλ©°,
blockμ²λΌ width, heightμ μ€μ μ΄ κ°λ₯νλ€λ μμ£Ό ν° λ©λ¦¬νΈλ₯Ό κ°μ§κ³ μλ€.
λν μ¬λ°±μ μ€μ μ κ΄ν΄μλ blockμ²λΌ
marginκ³Ό padding κ°μ μμ λ‘κ² μ€μ νλ κ²μ΄ κ°λ₯νλ€!
inline-block μμ±μ κΈ°λ³Έκ°μΌλ‘ κ°μ§κ³ μλ HTML μμλ μκΈ° λλ¬Έμ,
inline-block μμ±μ νμ©νκΈ° μν΄μλ
ν΄λΉ μμμ κ°λ³μ μΌλ‘ display: inline-blockμ μ μΈν΄ μ£Όμ΄μΌλ§ νλ€.
inline-blockμ μμ λ‘κ² κ°λ‘ ν, λμ΄, μ¬λ°±μ μ‘°μ ν μ μκΈ° λλ¬Έμ
λ€μν λ°©λ©΄μμ νμ©νκΈ° μ’λ€.
inline-blockμ νΉμ§ μ 리
inlineμ²λΌ μμλ₯Ό κ°λ‘λ‘ λμ΄ν μ μλ€.blockμ²λΌwidth,heightμ μ€μ μ΄ κ°λ₯νλ€.blockμ²λΌ μνμ’μ°μmargin,paddingμ μ€μ μ΄ κ°λ₯νλ€.inlineμ²λΌtext-align,vertical-alignμ μ¬μ©νλ κ²μ΄ κ°λ₯νλ€.
blockμ inlineμ ν¬κ΄νλ λ ν° κ°λ
μ΄κΈ° λλ¬Έμ
inline μμ±μ μμ μμ block μμ±μ μμλ₯Ό λ°°μΉμν€λ κ²μ μΉ νμ€μ μ΄κΈλλ€κ³ νλ€.
<!-- π -->
<span>
<h1>μλ
νμΈμ!</h1>
</span>
<!-- π -->
<h1>
<span>μλ
νμΈμ!</span>
</h1>
(κ·Έλ¦Όμ ν΄λ¦νλ©΄ μΆμ²λ‘ μ΄λν©λλ€.)
floatλ μμ΄λ‘ 'λ¨λ€, λΆμ νλ€'λΌλ μλ―Έλ₯Ό κ°μ‘μΌλ©°,
μλ μμ κ·Έλ¦Όμ²λΌ μ΄λ―Έμ§λ₯Ό λμμ μ£Όλ³μ ν
μ€νΈμ μμ°μ€λ½κ² μ΄μΈλ¦¬λλ‘ λ°°μΉνκΈ° μν΄ νμ΄λ μμ±μ΄λ€.
.element {
float: κ°;
}
float μμ±μ νΉμ μμλ₯Ό μΌμͺ½(left) λλ μ€λ₯Έμͺ½(right)μΌλ‘ μ΄λμμΌ λΆμ μν€λ κΈ°λ²μ΄λ€.
μμλ₯Ό μ’μ°λ‘ λ°°μΉν μ μκΈ° λλ¬Έμ, μλ‘λΆν° μΉ νμ΄μ§μ λ μ΄μμμ μ€μ ν λ μμ£Ό μ¬μ©λμ΄ μλ€.
νμ¬λ flexλ gridμ λ±μ₯μΌλ‘ μΈν΄ μ¬μ©λλ λΉλκ° ν¬κ² μ€μ΄λ€κ³ μμ§λ§,
κ΅λ΄ μ¬μ΄νΈμλ μμ§ floatλ‘ μμ±λ νμ΄μ§κ° λ€μ μ‘΄μ¬νκΈ° λλ¬Έμ
floatμ λν΄ κΈ°λ³Έμ μΈ κ°λ
μ μ΄ν΄ν΄λλ κ²μ΄ νμνλ€.
π
floatμμ μ€μ κ°λ₯ν κ°μ λ€μκ³Ό κ°λ€.
| left | μΌμͺ½μΌλ‘ λΆμ νλ λΈλ‘ λ°μ€λ₯Ό μμ±. |
|---|---|
| right | μ€λ₯Έμͺ½μΌλ‘ λΆμ νλ λΈλ‘ λ°μ€λ₯Ό μμ± |
| none | μμλ₯Ό λΆμ μν€μ§ μμ |
μ€μ μν μ½λλ₯Ό μ΄ν΄λ³΄μ.
<aside> νκ·Έμ κ°κ° float: leftμ float: rightλ₯Ό μ μ©μν΄μΌλ‘μ¨
<aside> νκ·Έκ° κ°κ° μΌμͺ½κ³Ό μ€λ₯Έμͺ½μΌλ‘ λ μλ€.
float μκ° λΆλΆμμλ μΈκΈνλ―μ΄, floatλ μμλ₯Ό λΆμ μν€λ μμ±μ΄λ€.
μ¦, floatκ° μ μ©λ <aside> νκ·Έλ <article>νκ·Έ μμ λ μλ μνλ€.
κ·Έ μ¦κ±°λ‘, floatκ° μ μ©λμ§ μμ <article> νκ·Έμ λ
Έλ λ°°κ²½μμ μ€μ ν΄λ³Έ κ²°κ³Ό,
<aside> νκ·Έμ λ°°κ²½μμ΄ ν¬λͺ
(transparent)μΈλ°λ λΆκ΅¬νκ³ λ°°κ²½μμ΄ λ
ΈλμμΌλ‘ μ€μ λ κ²μ²λΌ 보μΈλ€.
μ€μ λ‘λ ν¬λͺ
μμΈ <aside>νκ·Έκ° λ
Έλμ λ°°κ²½μ κ°μ§ <article> νκ·Έμ μμ λ μκΈ° λλ¬Έμ λ
Έλμμ΄ ν¬κ³Όλμ΄ λ³΄μ΄λ κ²μ΄λ€.
λ μ΄μμμ μ’μ°λ‘ μμ½κ² λ°°μΉν μ μλ floatμ
floatκ° μ μ©λ μμλ₯Ό 'λΆμ μν¨λ€'λ νΉμ§ λλ¬Έμ
floatκ° μ μ©λ μμμ λΆλͺ¨ μμμ heightκ° μ¬λΌμ Έλ²λ €μ λ μ΄μμμ΄ λΆκ΄΄λλ²λ¦¬λ κ²½μ°κ° λ°μνλ€.
μλ μ½λλ λ μ΄μμμ΄ λΆκ΄΄λ μμμ΄λ€.
left childμ right childλ floatκ° μ μ©λμ΄ λΆ λ¬ μνλ‘ μ’μ°λ‘ μ λ ¬λμλ€.
μ΄λ‘ μΈν΄ λΆλͺ¨ μμμΈ .parentλ heightλ₯Ό μμ ν μμ΄λ²λ Έλ€.
κ·Έλ¦¬κ³ λΆ λ μλ .childμ μ리μλ μ΅νλ¨μ μμΉνλ μ΄λ‘μ .bottomκ° μλλΆν° μλ‘ λΉμ리λ₯Ό λΉμ§κ³ μ¬λΌμ μμΉνκ² λμ΄ μ΄λ κ² μμν λ μ΄μμμ΄ νμλκ² λμλ€π₯²
μμ κ°μ float λ μ΄μμ λΆκ΄΄λ₯Ό ν΄κ²°νκΈ° μν λ°©λ²μ λ€μ μ‘΄μ¬νμ§λ§
.clearfixλΌλ ν΄κ²°μ±
μ μκ°νλ€.
.clearfixλ λΆλͺ¨ μμμκ² heightλ₯Ό μ μ§μν€κΈ° μν΄ μμ±νλ ν΄λμ€μ΄λ€.
.clearfix::after {
content: "";
display: block;
clear: both;
}
.clearfixλΌλ ν΄λμ€λ₯Ό μμ±νκ³ κ°μ μμμΈ afterμ μμ κ°μ μ½λλ₯Ό μμ±νλ€.
κ·Έλ¦¬κ³ float μμ±μ μ μ©ν μμμ λΆλͺ¨ μμμ ν΄λμ€μ .clearfixλ₯Ό μΆκ°ν΄μ€λ€.
λ§λνκ² λ μ΄μμ λΆκ΄΄κ° ν΄κ²°λ λͺ¨μ΅π
.clearfixμ λ
Όλ¦¬λ λ€μκ³Ό κ°λ€.
.clearfixμ κ°μ μμμΈ afterλ₯Ό μ€μ νκ³ , 곡백μ κ°μ κ°μ§ content μμ±μ μΆκ°νλ€. μ΄λ .clearfixλ₯Ό μ§μ ν μμμ λ§λ―Έμ 곡백μ λ°μ€λ₯Ό λ§λ λ€λ κ²μ λ»νλ€.display: blockμ μΆκ°νμ¬ κ°μ μμλ‘ λ§λ λ°μ€λ₯Ό λΈλ μμλ‘ λ§λ λ€.clear μμ±μ μ¬μ©νμ¬ floatλ₯Ό ν΄μ νλ€. (clear μμ±μ λΈλ μμμ μ μ©λλ€κ³ ν¨)μΉ νμ΄μ§μ λ€μν λ μ΄μμμ ꡬμ±νκ³
μμλ₯Ό λ°°μΉμν€λλ° νμν CSSμ λν΄ μμ보μλ€βΊοΈ
(νμκ² λΆνμ μ΄π₯²)
λ μ΄μμκ³Ό μμμ λ°°μΉλ₯Ό κΈλ‘ νννλ κ²μ΄ μ μ ν΄μ§μ§ μμ κ² κ°μ
μ΄μ¬ν μν μ½λλ₯Ό μμ±ν΄λ³΄μλλ°, μ΄ κΈμ΄ λκ΅°κ°μκ² λμμ΄ λμμΌλ©΄ μ’κ² λ€π
λ³Έλ¬Έμμλ μΈκΈνλ―μ΄ μ¬μ€ floatμ μ΅κ·Ό μ μ¬μ©λμ§ μκ³ μμΌλ©°,
flexλ gridλ‘ λΉ λ₯΄κ² λ체λμ΄κ°κ³ μλ€.
(μ μ΄μ floatλ μλ λ μ΄μμμ ꡬννκΈ° μν μ©λκ° μλλΌλ μ )
λ€λ₯Έ νλ‘κ·Έλλ° μΈμ΄ λΏλ§ μλλΌ CSS λν 무μμ΄ μλλ‘ λ°μ μ€μ΄κΈ° λλ¬Έμ,
μ΄μ©λ©΄ λ κΉμ§ν μμ flexλ gridλ³΄λ€ λ λͺ¨λν λ¬Έλ²μ΄ λμ¬μ§λ λͺ¨λ₯Έλ€...π€¦ββοΈ
CSSμ μΈκ³λ μ λ§ λ°©λνλ€λ κ²μ λλλ€.
λ μ΄μμμ λ₯μνκ² κ΅¬μ±νκΈ° μν΄μλ μ€λ κΈμμ μκ°λ λ΄μ©μ
κΉκ² κΉκ² μ΄ν΄νκ³ μλ κ²μ΄ μ€μνλ€κ³ μκ°νλ€.
μ’μ 볡μ΅μ΄ λ κ² κ°μ λΏλ―νλ€.
μλͺ»λ μ λ³΄κ° μλ€λ©΄ λ§κ΅¬λ§κ΅¬λ§κ΅¬λ§κ΅¬ μ§μ ν΄μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€πββοΈ
μ’μ κΈ κ°μ¬ν©λλ€ !!