π λ°μν λμμΈ
π¨π» νλ μ΄ν리μΌμ΄μ
μ λμμΈνκΈ° μνμ¬
- νλμ λ€μ΄ μ¬μ©μλ λ€μν κΈ°κΈ°λ‘ μ΄ν리μΌμ΄μ
μ μ€ννκ² λμλ€.
- λκ³ ν° λͺ¨λν°λΆν° μλ°λ₯λ§ν νλ©΄μ νΈλν°κΉμ§ λ€μν κΈ°κΈ°μ μ΅μ νλ λμμΈμ μ΄λ»κ² ꡬνν μ μμκΉ?
- κ°λ¨ν λ°©λ²μΌλ‘λ μΆλ ₯ κΈ°κΈ°μ μ¬μ΄μ¦μ λ°λΌ νλ©΄μ μΆμμν€λ λ°©λ²μ΄ μλ€.
- νμ§λ§ μ΄λ³΄λ€ λ μ’μ λ°©λ²μΌλ‘ 'λ°μν λμμΈ'μ΄ μλ€.
- λ°λ‘ μλμ μμμ²λΌ κ°λ‘ μΈλ‘ λΉμ¨μ λ°λΌ μμ λ€λ₯Έ ν¬λ§·μ λ°λ₯΄λ λμμΈμ νκΈ° μν΄ μ°λ¦¬λ 무μμ λ°°μμΌ ν κ°?
π©π» λ°μ€ν¬ν± vs νλΈλ¦Ώ vs λͺ¨λ°μΌ
π€£ Viewport
πΆπ» Veiwportλ?
- λ·°ν¬νΈλ μ¬μ©μκ° λ³Ό μ μλ μΉνμ΄μ§ μμλ₯Ό λ§νλ€.
- λ·°ν¬νΈλ κΈ°κΈ°μ λ°λΌ λ€λ₯΄λ€.
π΅π» Viewport μ€μ νκΈ°
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- μ μ€μ μ λΈλΌμ°μ κ° νμ΄μ§μ ν¬κΈ°μ μΆμ μ μ΄λ»κ² μ‘°μ ν μ§ μλ €μ€λ€.
width=device-width
λ νμ΄μ§μ λμ΄λ₯Ό μ€ν¬λ¦°μ λμ΄μ λ§μΆ°μ€λ€.
initial-scale=1.0
λ νμ΄μ§κ° μ²μ λ‘λ©λ λ νλ λ 벨μ 1λ‘ λ§μΆμ΄μ€λ€.
π΄π» Viewport μ¬μ©μ μ£Όμμ¬ν
- μ¬μ©μλ€μ κΈ°λ³Έμ μΌλ‘ μ€ν¬λ‘€μ μ μλλ‘ λ΄λ¦¬μ§ μμμΌλ‘ μμ§μ΄μ§ μλλ€λ μ μ μμμΌνλ€.
- ν° νμ κ³ μ κ°μΌλ‘ κ°λ elementλ₯Ό μ°μ§ λ§λΌ.
- λ§μ½ νμ΄μ§ λ·°ν¬νΈ λμ΄ λ³΄λ€ ν° μμλ₯Ό μ°κ² λ μ, μ¬μ©μλ μ’μ°λ‘ μ€ν¬λ‘€μ ν΄μΌνλ€.
- elementμ νμ λ°λμ λ·°ν¬νΈμ νμ λ§μΆμ΄ μμ±νλΌ.
- νΉμ λ·°ν¬νΈμ λ§μΆμ΄ λμμΈνμ§ λ§λΌ.
- μ€ν¬λ¦°μ κΈ°κΈ°μ λ°λΌ ν¬κ² λ³ννλ€.
- κ·Έλ¬λ―λ‘ μ»¨ν
μΈ λ₯Ό νΉμ λ·°ν¬νΈμ νμ λ§μΆ° λμμΈ νμ§ λ§λΌ.
- μμ νλ©΄κ³Ό ν° νλ©΄μ λμμ μ μ©ν λμμΈμ΄λΌλ©΄ λ―Έλμ΄μΏΌλ¦¬λ₯Ό μ¨λΌ
- width: 100%λ₯Ό νμ©ν΄λΌ.
- μμΉλ₯Ό μ ν λλ λ·°ν¬νΈλ₯Ό λ²μ΄λμ§ μλλ‘ μ£Όμν΄λΌ.
π Grid-View
πΈπ» Grid-Viewλ?
- λ§μ μ¬μ΄νΈκ° 그리λλ·°λ₯Ό κΈ°λ³ΈμΌλ‘ λμμΈλμ΄ μλ€.
- 그리λ λ·°λ νμ΄μ§λ₯Ό μ¬λ¬κ°μ 컬λΌμΌλ‘ λΆν νμ¬ λμμΈνλ κ²μ λ§νλ€.
- λ°μν 그리λλ·°λΌκ³ λ§ν λλ λ³΄ν΅ 12κ°μ 컬λΌμΌλ‘ λλλ κ²μ μλ―Ένλ€.
π€΄π» Responsive Grid-View μ μ©νκΈ°
- κ°μ₯ λ¨Όμ λͺ¨λ elementμ paddingκ³Ό borderκ° μ 체 widthμ heightμ ν¬ν¨λλλ‘ μλ λͺ
λ Ήμ΄λ₯Ό μ
λ ₯ν΄μΌνλ€.
* {
box-sizing: border-box;
}
- μ΄ν 12κ°μ§ 컬λΌμ λμ΄λ₯Ό μλμ κ°μ΄ μ νλ€.
- μ΄ ν΄λμ€λ€μ΄ μΌμͺ½μ λΆμ μ μλλ‘ float: leftλ₯Ό μ νλ€.
[class*="col-"] {
float: left;
padding: 15px;
border: 1px solid red;
}
.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}
- μ΄λ κ² μ€μ ν col- ν΄λμ€λ€μ 12κ° λ¨μλ§λ€ divλ‘ κ°μΈμ€μΌ νλ€.
<div class="row">
<div class="col-3">...</div>
<div class="col-9">...</div>
</div>
- (μ¬κΈ°λ λ¬΄μ¨ λ§μΈμ§ λͺ¨λ₯΄κ² λ€.)
- The columns inside a row are all floating to the left, and are therefore taken out of the flow of the page, and other elements will be placed as if the columns do not exist. To prevent this, we will add a style that clears the flow:
.row::after {
content: "";
clear: both;
display: table;
}
- λ―Έλμ΄ μΏΌλ¦¬λ CSS3μμ μκ°λ κΈ°μ μ΄λ€.
- μλμ²λΌ μΈ μ μλ€.
@media only screen and (max-width: 600px) {
body {
background-color: lightblue;
}
}
ππ»ββοΈ λΆκΈ°μ μ μ νμ
- 768pxμ κΈ°μ€μΌλ‘ νλ©΄μ ꡬμ±μ μμ ν λ°κΏ μ μλ€.
- μλμ μ½λμ μμ μ¬μ§μ 보μ
.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}
@media only screen and (max-width: 768px) {
[class*="col-"] {
width: 100%;
}
}
π
π»ββοΈ λ°λμ λͺ¨λ°μΌ λ²μ μ λ¨Όμ λμμΈνλΌ!!
- λͺ¨λ°μΌ λ²μ λμμΈμ΄ λλ νμ λΆκΈ°μ μ μ‘κ³ λ°μ€ν¬ν λ²μ μ λμμΈν΄λΌ
- μλ μ½λμ μμλ₯Ό 보μ (λ°λͺ¨ λ§ν¬)
- λ°λͺ¨ λ§ν¬λ₯Ό λλ₯΄κ³ μ°μΈ‘μ λ λλ§ νμ΄μ§μ λμ΄λ₯Ό λ°κΏλ΄λΌ
[class*="col-"] {
width: 100%;
}
@media only screen and (min-width: 600px) {
.col-s-1 {width: 8.33%;}
.col-s-2 {width: 16.66%;}
.col-s-3 {width: 25%;}
.col-s-4 {width: 33.33%;}
.col-s-5 {width: 41.66%;}
.col-s-6 {width: 50%;}
.col-s-7 {width: 58.33%;}
.col-s-8 {width: 66.66%;}
.col-s-9 {width: 75%;}
.col-s-10 {width: 83.33%;}
.col-s-11 {width: 91.66%;}
.col-s-12 {width: 100%;}
}
@media only screen and (min-width: 768px) {
.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}
}
<div class="row">
<div class="col-3 col-s-3">...</div>
<div class="col-6 col-s-9">...</div>
<div class="col-3 col-s-12">...</div>
</div>
π
π»ββοΈ μ€ν¬λ¦°μ λ°©ν₯μ λ°λΌ λ€λ₯Έ λμμΈμ μ μ©ν΄λΌ
- νλ©΄μ μΈμ μ¬μ©ν λμ λν μ¬μ©ν λλ λ€λ₯Έ λμμΈμ΄ νμνλ€
@media only screen and (orientation: landscape) {
body {
background-color: lightblue;
}
}
π§π»ββοΈ νμμ λ°λΌ μμλ₯Ό μ¨κΈΈ νμλ μλ€.
- μμ νλ©΄μμλ λΆνμν μμλ₯Ό μ¨κΉ μ²λ¦¬νμ.
@media only screen and (max-width: 600px) {
div.example {
display: none;
}
}