○ 반응형 웹 디자인 (RWD; Responsive Web Design)
- 다양한 화면 크기에 맞게 웹사이트의 레이아웃(Grid)이 달라지는 웹페이지
- PC, 스마트폰, 태블릿 등 접속하는 기기에 따라 화면의 크기가 자동으로 변하도록 디자인
- 모든 장치에서 HTML문서를 잘 보이게 하기 위해 뷰포트 설정 필요 ( 08. HTML 메타(meta) 요소 참고)
<meta name="viewport" content="width=device-width, initial-scale=1.0">
○ 미디어 쿼리 (Media Queries)
- 반응형 웹을 구현하기 위한 핵심기술 중 하나
- 화면 사이즈를 인식해 크기마다 각각 다르게 CSS를 적용하는 것
- 보통은 스마트폰, 태블릿, PC 3가지 화면 정도를 구분해줌
@charset "UTF-8";
/* layout.css */
/* https://www.w3schools.com/css/css_rwd_mediaqueries.asp 참고*/
* {
box-sizing: border-box;
}
.row::after {
content: "";
clear: both;
display: table;
}
[class*="col-"] {
float: left;
padding: 15px;
}
html {
font-family: "Lucida Sans", sans-serif;
}
.header {
background-color: #9933cc;
color: #ffffff;
padding: 15px;
}
.menu ul {
list-style-type: none;
margin: 0;
padding: 0;
}
.menu li {
padding: 8px;
margin-bottom: 7px;
background-color: #33b5e5;
color: #ffffff;
box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}
.menu li:hover {
background-color: #0099cc;
}
.aside {
background-color: #33b5e5;
padding: 15px;
color: #ffffff;
text-align: center;
font-size: 14px;
box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}
.footer {
background-color: #0099cc;
color: #ffffff;
text-align: center;
font-size: 12px;
padding: 15px;
}
/* 모바일, 태블릿, PC 별로 구별*/
/* For mobile phones: */
[class*="col-"] {
width: 100%;
}
@media only screen and (min-width: 600px) {
/* For tablets: */
.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) {
/* For desktop: */
.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%;}
}
'Frontend > CSS' 카테고리의 다른 글
09. CSS Transition & Animation (0) | 2022.04.07 |
---|---|
08. CSS Transform (0) | 2022.04.06 |
07. CSS display 속성 (0) | 2022.04.01 |
06. CSS Positioning (float, z-index) (0) | 2022.03.31 |
05. CSS Positioning (position 속성) (0) | 2022.03.30 |
댓글