본문 바로가기
Layout

유형 04

by 코딩대원 2022. 8. 4.

레이아웃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%;
                }
}

'Layout' 카테고리의 다른 글

유형 05  (4) 2022.08.04
유형 03  (4) 2022.08.04
유형 02  (4) 2022.08.04
유형 01  (4) 2022.08.01

댓글


HTML
CSS

JAVASCRIPT

자세히 보기