HTML Positioning Rule
CSSμ position μμ±μ μμ보기 μ μ λ¨Όμ HTML λ¬Έμμμ μμλ₯Ό μ΄λ»κ² λ°°μΉνλμ§ κ·Έ κ·μΉμ λν΄ μ€λͺ νκ² μ΅λλ€.
1. Content is everything.
inline μμμμλ μμμ contentμ ν¬κΈ°κ° 곧 μμμ ν¬κΈ°κ° λ©λλ€.
2. Order comes from code.
HTML λ¬Έμμμ μ½λμ μμ±ν μμλλ‘ μμκ° λ°°μΉλ©λλ€.
μλ₯Ό λ€μ΄, HTML νμΌμ
<h1>This is first.</h1>
<h2>This is second.</h2>
λΌλ μ½λκ° μλ€λ©΄, h1μ΄ h2λ³΄λ€ λ¨Όμ (μμ) μμ±λμκΈ° λλ¬Έμ νλ©΄μμλ μμ λνλ©λλ€.
3. Children sit on parents.
μμ μμλ λΆλͺ¨ μμ μμ(κ²Ήμ³μ) λνλ©λλ€.
<div class="parent">
Parent
<div class="child">Children</div>
</div>
CSS Postion μμ±
CSSμ Postion μμ±μ λ¬Έμ μμ μμλ₯Ό λ°°μΉνλ λ°©λ²μ κ²°μ ν©λλ€.
μμ± κ°λ€μ λ€μκ³Ό κ°μ΅λλ€.
1. static
postion μμ±μ default κ°μ΄λ©°, μμ μ€λͺ ν HTMLμ μμ λ°°μΉ λ°©λ²μ λ°λΌ positionμ΄ μ ν΄μ§λλ€.
2. relative
μμκ° μλ μλ μμΉ(normal position)λ₯Ό κΈ°μ€μΌλ‘ μλμ μΈ μμΉλ₯Ό μ§μ ν μ μμ΅λλ€.
μ΄λ μ΄λλ‘ μΌλ§νΌ μ΄λν κ²μΈμ§λ top, bottom, left, rightμ offsetμ μ΄μ©ν΄ μ§μ ν©λλ€.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
div {
width: 100px;
height: 100px;
}
.div1 {
position: relative;
top: 20px;
left: 50px;
background-color: red;
}
.div2 {
background-color: blue;
}
|
cs |
div1μ΄ μλ μμ΄μΌ ν μμΉμμ μλλ‘ 20px, μ€λ₯Έμͺ½μΌλ‘ 50px μ΄λν κ²μ λ³Ό μ μμ΅λλ€.
top: 20px; left: 50pxμ΄λΌκ³ μμ±νλλ° μ€λ₯Έμͺ½ μλλ‘ μ΄λν κ²μ΄ μ΄μνκ² λκ»΄μ§ μ μμ΅λλ€.
postionμ offsetμ top: 20px;μ΄λΌλ μ½λλ₯Ό μμͺ½μμ 20px λ¨μ΄μ§ κ³³μ΄λΌκ³ ν΄μνκΈ° λλ¬Έμ div1μ μμͺ½μμ 20px, μΌμͺ½μμ 50px λ¨μ΄μ§ κ³³μ μμΉνκ² λ©λλ€.
λν μ£Όλͺ©ν μ μ div1μ positionμ΄ λ°λμμ§λ§ κ·Έκ²μ΄ div2μ positionμλ μν₯μ μ£Όμ§ μλλ€λ κ²μ λλ€.
μ΄λ λ― relative positionμ κ°μ§ μμλ€μ λ€λ₯Έ μμλ€μ positionμλ μν₯μ μ£Όμ§ μμ΅λλ€.
3. absolute
ν΄λΉ μμμ ancestor μ€μμ position μμ±μ κ°μ§(not static) μμλ₯Ό κΈ°μ€μΌλ‘ μλ μμΉλ₯Ό μ§μ ν μ μμ΅λλ€.
λ§μ½ ancestor μ€μμ positionμ΄ μ§μ λ μμκ° μλ€λ©΄ μ΄κΈ° 컨ν μ΄λ λΈλ‘(ex. <body>)λ₯Ό κΈ°μ€μΌλ‘ μλ μμΉλ₯Ό μ§μ ν©λλ€.
div1μ΄ div2μ λΆλͺ¨μΌ λμ μμ)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
.div1 {
position: relative;
background-color: red;
width: 200px;
height: 200px;
}
.div2 {
position: absolute;
bottom: 20px;
right: 30px;
background-color: blue;
width: 100px;
height: 100px;
}
|
cs |
div2λ κ°μ₯ κ°κΉμ΄ positioned ancestorμΈ div1μ κΈ°μ€μΌλ‘ μμΉ μ΄λμ νκ² λ©λλ€. λ°λΌμ div1μ μλμͺ½μμ 20px, μ€λ₯Έμͺ½μμ 30px λ¨μ΄μ§ κ³³μ μμΉνκ² λ©λλ€.
λ§μ½ div1μ positionμ΄ μ ν΄μ Έ μμ§ μλ€λ©΄(staticμ΄λΌλ©΄) div2μ μμΉ μ΄λμ body μμλ₯Ό κΈ°μ€μΌλ‘ μΌμ΄λκ² λ©λλ€. (body μμ λ΄μ div1, div2 μμλ°μ μ‘΄μ¬νμ§ μλλ€κ³ κ°μ νμ λ)
absoluteλ relativeμ λ€λ₯΄κ² λ€λ₯Έ μμλ€μ positionμ λ³νλ₯Ό μ€λλ€.
4. fixed
veiwport(μΉνμ΄μ§κ° 보μ΄λ νλ©΄)μ κΈ°μ€μΌλ‘ μλ μμΉλ₯Ό μ§μ ν μ μμ΅λλ€.
λ·°ν¬νΈμ νΉμ μμΉμ μμλ₯Ό κ³ μ νκΈ° λλ¬Έμ, μ€ν¬λ‘€μ ν΄μ νλ©΄μ΄ λ΄λ €κ°λλΌλ μμλ κ°μ μμΉμ κ³ μ λ©λλ€.
1
2
3
4
5
6
7
8
|
.div1 {
position: fixed;
top: 100px;
left: 100px;
background-color: red;
width: 200px;
height: 200px;
}
|
cs |
곡λΆν κ²μ μ 리ν λ΄μ©μ λλ€. μμ ν κ²μ΄ μμΌλ©΄ μλ €μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€ :)
'Client > CSS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[CSS] z-index (μμμ μμ μμ μ§μ ) (0) | 2020.06.12 |
---|---|
[CSS] κ΅¬κΈ μΉ ν°νΈ(Google fonts) μ¬μ© λ°©λ² (0) | 2020.06.11 |
[CSS] display μμ± (0) | 2020.06.11 |
[CSS] CSS κΈ°λ³Έ λ°μ€ λͺ¨λΈ(Box Model) (0) | 2020.06.09 |
[CSS] CSS μ νμ (Selector) (0) | 2020.06.09 |