레이아웃04
이번 레이아웃은 전체 영역이 들어간 구조입니다. 실제 사이트에서 이런 구조를 많이 사용하며, 컨테이너를 만들어서 가운데 영역을 설정합니다.
Float방식 레이아웃
Float 방식 레이아웃은 구버전 익스플로어 등과의 호환을 위해 사용합니다.
{
*{
margin: 0;
padding: 0;
}
#header{
height: 100px;
background-color: #B2DFDB;
}
#nav{
background-color: #4DB6AC;
height: 300px;
}
#section{
background-color: #009688;
height: 580px;
}
#footer{
background-color: #00796B;
height: 100px;
}
/*
아이디/클래스
#/.
한번/두개 이상(중복)
전체적인 틀, 스크립트-->id
세부적인 영역, 반복 --> class
*/
.container{
width: 1200px;
height: inherit;
margin: 0 auto;
background-color: rgba(0,0,0,0.3);
}
@media (max-width: 1220px){
.container{
width: 96%;
}
}
@media (max-width: 768px){
.container{
width: 100%;
}
}
@media (max-width: 480px){
.container{
width: 100%;
}
}
Flex방식 레이아웃
Flex 방식 레이아웃은 Flex는 레이아웃 배치 전용 기능으로 고안 되었다.
그래서 레이아웃을 만들 때 딱히 사용할게 없어서 쓰던 float나 inline-block 등을 이용한 기존 방식보다 훨씬 강력하고 편리한 기능들이 많은 편이다.
{
*{
margin: 0;
padding: 0;
}
#header{
height: 100px;
background-color: #B2DFDB;
}
#nav{
background-color: #4DB6AC;
height: 300px;
}
#section{
background-color: #009688;
height: 580px;
}
#footer{
background-color: #00796B;
height: 100px;
}
/*
아이디/클래스
#/.
한번/두개 이상(중복)
전체적인 틀, 스크립트-->id
세부적인 영역, 반복 --> class
*/
.container{
width: 1200px;
height: inherit;
margin: 0 auto;
background-color: rgba(0,0,0,0.3);
display: flex;
flex-wrap: wrap;
}
@media (max-width: 1220px){
.container{
width: 96%;
}
}
@media (max-width: 768px){
.container{
width: 100%;
}
}
@media (max-width: 480px){
.container{
width: 100%;
}
}
Grid방식 레이아웃
레이아웃을 구현할 때 Flex 방식을 사용하면 간단하게 일을 처리할 수 있지만, 복잡한 구조의 레이아웃을 짤때는 그리드방식 레이아웃이 좀 더 유리하다.
그리드 방식의 값들은 부모 요소에서 설정하면 자식요소에 적용된다.
{
*{
margin: 0;
padding: 0;
}
#header{
height: 100px;
background-color: #B2DFDB;
grid-area: header;
}
#nav{
background-color: #4DB6AC;
height: 300px;
grid-area: nav;
}
#section{
background-color: #009688;
height: 580px;
grid-area: section;
}
#footer{
background-color: #00796B;
height: 100px;
grid-area: footer;
}
/*
아이디/클래스
#/.
한번/두개 이상(중복)
전체적인 틀, 스크립트-->id
세부적인 영역, 반복 --> class
*/
.container{
width: 1200px;
height: inherit;
margin: 0 auto;
background-color: rgba(0,0,0,0.3);
grid-template-areas:
"header header"
"nav nav"
"section section"
"footer footer"
;
grid-template-columns: ;
grid-template-rows:100px 300px 580px 100px ;
}
@media (max-width: 1220px){
.container{
width: 96%;
}
}
@media (max-width: 768px){
.container{
width: 100%;
}
}
@media (max-width: 480px){
.container{
width: 100%;
}
}
댓글