레이아웃01
첫번째 유형 가장 단순한 구조입니다.
Float방식 레이아웃
float 방식 레이아웃은 구버전 익스플로어 등과의 호환을 위해 사용한다.
float는 속성이 상속되어 float 속성을 사용한 요소의 다음 요소에게 영향을 미치며,
이전 요소를 밀고 올라오게 되는데 clear: both를 주면 이러한 현상을 막을 수 있습니다.
*{
margin: 0;
padding: 0;
}
body{
background-color: #fff3e0;
}
#wrap{
width: 1200px;
margin: 0 auto;
}
#header{
width: 100%;
height: 100px;
background-color: #ffe082;
}
#nav{
width: 100%;
height: 100px;
background-color: #ffcc80;
}
#aside{
width: 30%;
height: 780px;
background-color: #ffb740;
float: left;
}
#section{
width: 70%;
height: 780px;
background-color: #ffa726;
float: left;
}
#footer{
width: 100%;
height: 100px;
background-color: #ff9800;
clear:both;
}
/* 미디어쿼리 */
@media(max-width :1300px){
#wrap{
width: 96%;
}
}
@media(max-width :768px){
#wrap{
width: 100%;
}
#aside{
width: 30%;
height: 780px;
float: left;
}
#section{
width: 70%;
height: 780px;
float: left;
}
}
@media(max-width :480px){
#aside{
width: 100%;
height: 300px;
}
#section{
width: 100%;
height: 480px;
}
}
Flex방식 레이아웃
Flex 방식 레이아웃은 Flex는 레이아웃 배치 전용 기능으로 고안 되었다.
그래서 레이아웃을 만들 때 딱히 사용할게 없어서 쓰던 float나 inline-block 등을 이용한 기존 방식보다 훨씬 강력하고 편리한 기능들이 많은 편이다.
{
*{
margin: 0;
padding: 0;
}
body{
background-color: #fff3e0;
}
#wrap{
width: 1200px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
}
#header{
width: 100%;
height: 100px;
background-color: #ffe082;
}
#nav{
width: 100%;
height: 100px;
background-color: #ffcc80;
}
#aside{
width: 30%;
height: 780px;
background-color: #ffb740;
}
#section{
width: 70%;
height: 780px;
background-color: #ffa726;
}
#footer{
width: 100%;
height: 100px;
background-color: #ff9800;
}
/* 미디어쿼리 */
@media(max-width :1300px){
#wrap{
width: 96%;
}
}
@media(max-width :768px){
#wrap{
width: 100%;
}
}
@media(max-width :480px){
#aside{
width: 100%;
height: 300px;
}
#section{
width: 100%;
height: 480px;
}
}
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%;
}
}
댓글