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μ μΈκ³λ μ λ§ λ°©λνλ€λ κ²μ λλλ€.
λ μ΄μμμ λ₯μνκ² κ΅¬μ±νκΈ° μν΄μλ μ€λ κΈμμ μκ°λ λ΄μ©μ
κΉκ² κΉκ² μ΄ν΄νκ³ μλ κ²μ΄ μ€μνλ€κ³ μκ°νλ€.
μ’μ 볡μ΅μ΄ λ κ² κ°μ λΏλ―νλ€.
μλͺ»λ μ λ³΄κ° μλ€λ©΄ λ§κ΅¬λ§κ΅¬λ§κ΅¬λ§κ΅¬ μ§μ ν΄μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€πββοΈ
μ’μ κΈ κ°μ¬ν©λλ€ !!