본문 바로가기
CSS/Layout

Layout3

by 코터틀 2022. 7. 29.
반응형

레이아웃03

이번 레이아웃은 사이드 1영역과 그 옆으로 3개의 영역이 나누어진 레이아웃입니다.

float : clearfix를 이용한 레이아웃

부모 요소가 다시 자식 요소를 감쌀 수 있게 float을 초기화(clear)하여 버그를 고쳐주는(fix) 코드입니다.

* {
    margin: 0;
}

body {
    background-color: #E1F5FE;
}

#wrap {
    width: 1200px;
    margin: 0 auto;
}

#header {
    width: 1200px;
    height: 100px;
    background-color: #B3E5FC;
}

#nav {
    width: 1200px;
    height: 100px;
    background-color: #81D4FA;
}

#main {
    width: 1200px;
}

#aside {
    width: 300px;
    height: 780px;
    background-color: #4FC3F7;
    float: left;
}

#section_01 {
    width: 900px;
    height: 260px;
    background-color: #29B6F6;
    float: left;
}

#section_02 {
    width: 900px;
    height: 260px;
    background-color: #03A9F4;
    float: left;
}

#section_03 {
    width: 900px;
    height: 260px;
    background-color: #039BE5;
    float: left;
}

#footer {
    width: 1200px;
    height: 100px;
    background-color: #0288D1;
}

/* clearfix */
.clearfix::before,
.clearfix::after {
    content: '';
    display: block;
    line-height: 0;
}

.clearfix::after {
    clear: both;
}

flex를 이용한 레이아웃

* {
    margin: 0;
}

body {
    background-color: #E1F5FE;
}

#wrap {
    width: 1200px;
    margin: 0 auto;
}

#header {
    width: 100%;
    height: 100px;
    background-color: #B3E5FC;
}

#nav {
    width: 100%;
    height: 100px;
    background-color: #81D4FA;
}

#main {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    height: 780px;
}

#aside {
    width: 25%;
    height: 780px;
    background-color: #4FC3F7;
}

#section_01 {
    width: 75%;
    height: 260px;
    background-color: #29B6F6;
}

#section_02 {
    width: 75%;
    height: 260px;
    background-color: #03A9F4;
}

#section_03 {
    width: 75%;
    height: 260px;
    background-color: #039BE5;
}

#footer {
    width: 100%;
    height: 100px;
    background-color: #0288D1;
}

flex를 이용한 레이아웃 : 반응형 적용

* {
    margin: 0;
}

body {
    background-color: #E1F5FE;
}

#wrap {
    width: 1200px;
    margin: 0 auto;
}

#header {
    height: 100px;
    background-color: #B3E5FC;
}

#nav {
    height: 100px;
    background-color: #81D4FA;
}

#main {
    display: grid;
    grid-template-areas:
        "aside section1"
        "aside section2"
        "aside section3";
    grid-template-columns: 25% 75%;
    grid-template-rows: 260px 260px 260px;
}

#aside {
    grid-area: aside;
    background-color: #4FC3F7;
}

#section1 {
    grid-area: section1;
    background-color: #29B6F6;
}

#section2 {
    grid-area: section2;
    background-color: #03A9F4;
}

#section3 {
    grid-area: section3;
    background-color: #039BE5;
}

#footer {
    height: 100px;
    background-color: #0288D1;
}

@media (max-width:1280px) {
    #wrap {
        width: 96%;
    }

    #main {
        grid-template-areas:
            "aside section1 section1"
            "aside section2 section3";
        grid-template-columns: 25% 37.5% 37.5%;
        grid-template-rows: 260px 520px;
    }
}

@media (max-width:768px) {
    #wrap {
        width: 100%;
    }

    #main {
        grid-template-areas:
            "aside section1"
            "aside section2";
        grid-template-columns: 32.5% 67.5%;
        grid-template-rows: 390px 390px;
    }

    #section3 {
        display: none;
    }
}

@media (max-width:480px) {
    #main {
        grid-template-areas:
            "aside"
            "section1"
            "section2";
        grid-template-columns: 100%;
        grid-template-rows: 200px 430px 150px;
    }
}
반응형

'CSS > Layout' 카테고리의 다른 글

Layout5  (6) 2022.08.04
Layout4  (7) 2022.07.29
Layout2  (6) 2022.07.29
Layout1  (6) 2022.07.29

댓글


광고 준비중입니다.