λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Layout

[Layout] λ ˆμ΄μ•„μ›ƒ 02

by 코딩곡책 2022. 7. 29.
λ°˜μ‘ν˜•

λ ˆμ΄μ•„μ›ƒ 02

전체 μ˜μ—­μ΄ λ“€μ–΄κ°„ ꡬ쑰이며 μ‹€μ œ μ‚¬μ΄νŠΈμ—μ„œ 이런 ꡬ쑰λ₯Ό 많이 μ‚¬μš©ν•˜κ³  μ»¨ν…Œμ΄λ„ˆλ₯Ό λ§Œλ“€μ–΄ κ°€μš΄λ° μ˜μ—­μ„ μ„€μ •ν•œλ‹€.

Float을 μ΄μš©ν•œ λ ˆμ΄μ•„μ›ƒ

λ ˆμ΄μ•„μ›ƒμ˜ 틀을 μž‘μ„ λ•Œ <div> νƒœκ·Έκ°€ μ‚¬μš©λ˜λ©° ν•΄λ‹Ή νƒœκ·ΈλŠ” Block ν˜•μ‹μ΄λ―€λ‘œ κ°€λ‘œλ‘œ λ‚˜λž€νžˆ 정렬이 λΆˆκ°€λŠ₯ν•˜λ‹€.
μ΄λ•Œ λ‚˜λž€νžˆ μ •λ ¬ν•΄μ£Όκ³ μž ν•˜λŠ” μš”μ†Œμ˜ CSS 속성에 float: left;λ₯Ό 적어주면 λ‚˜λž€νžˆ 정렬이 κ°€λŠ₯ν•˜λ‹€.

단, 이 속성을 μ“°κ²Œ 될 경우, 속성을 썼던 μ•„λž˜μ˜ μš”μ†Œκ°€ 보이지 μ•Šκ²Œ λ˜λŠ” 버그가 λ°œμƒν•˜λŠ”λ° 이럴 λ•Œμ—λŠ” 보이지 μ•ŠλŠ” ν•΄λ‹Ή μš”μ†Œμ— clear: both;λ₯Ό μ μ–΄λ†“μœΌλ©΄ ν•΄κ²°λœλ‹€.

* {
    margin: 0;
    padding: 0;
}
body {
    background-color: #E8F5E9;
}
#wrap {
    width: 1200px;
    margin: 0 auto;
    /* 블둝 ꡬ쑰 κ°€μš΄λ°λ‘œ μ •λ ¬ */
}
#header {
    width: 1200px;
    height: 100px;
    background-color: #C8E6C9;
}
#nav {
    width: 1200px;
    height: 100px;
    background-color: #A5D6A7;
}
#main {
    width: 1200px;
}
#aside {
    width: 300px;
    height: 780px;
    background-color: #81C784;
    float: left;
}
#section {
    width: 600px;
    height: 780px;
    background-color: #66BB6A;
    float: left;
}
#article {
    width: 300px;
    height: 780px;
    background-color: #4CAF50;
    float: left;
}
#footer {
    width: 1200px;
    height: 100px;
    background-color: #43A047;
    clear: both;
}

κ²°κ³Ό

Float을 μ΄μš©ν•œ λ ˆμ΄μ•„μ›ƒ - λ°˜μ‘ν˜•

wrap μ†μ„±μ˜ widthλ§Œμ„ 1200px둜 κ³ μ •μ‹œν‚¨ ν›„ λ‚˜λ¨Έμ§€ μ†μ„±μ˜ width 값은 νΌμ„Όν…Œμ΄μ§€λ‘œ ν™˜μ‚°μ‹œν‚¨λ‹€.
λ―Έλ””μ–΄ μΏΌλ¦¬μ—μ„œ λ…ΈνŠΈλΆ μ „μš©(max-width: 1300px), νƒœλΈ”λ¦Ώ PC μ „μš©(768px), 슀마트폰 μ „μš©(480px) μ‚¬μ΄μ¦ˆλ₯Ό λ§Œλ“ λ‹€.

* {
    margin: 0;
    padding: 0;
}
body {
    background-color: #E8F5E9;
}
#wrap {
    width: 1200px;
    margin: 0 auto;
}
#header {
    width: 100%;
    height: 100px;
    background-color: #C8E6C9;
}
#nav {
    width: 100%;
    height: 100px;
    background-color: #A5D6A7;
}
#main {
    width: 100%;
}
#aside {
    width: 30%;
    height: 780px;
    background-color: #81C784;
    float: left;
}
#section {
    width: 40%;
    height: 780px;
    background-color: #66BB6A;
    float: left;
}
#article {
    width: 30%;
    height: 780px;
    background-color: #4CAF50;
    float: left;
}
#footer {
    width: 100%;
    height: 100px;
    background-color: #43A047;
    clear: both;
}

/* λ―Έλ””μ–΄ 쿼리 */
@media (max-width : 1300px) {
    #wrap {
        width: 96%;
    }
}
@media (max-width : 768px) {
    #wrap {
        width: 100%;
    }
    #aside {
        width: 30%;
        height: 630px;
    }
    #section {
        width: 70%;
        height: 630px;
    }
    #article {
        width: 100%;
        height: 150px;
    }
}
@media (max-width : 480px) {
    #aside {
        width: 100%;
        height: 200px;
    }
    #section {
        width: 100%;
        height: 430px;
    }
}

κ²°κ³Ό

Flexλ₯Ό μ΄μš©ν•œ λ ˆμ΄μ•„μ›ƒ

κ°€λ‘œλ‘œ μ •λ ¬ν•΄μ£Όκ³ μž ν•˜λŠ” μš”μ†Œλ“€μ΄ λ‹΄κΈ΄ λΆ€λͺ¨ μš”μ†Œ #main에 display: flex;λ₯Ό μ μ–΄μ€λ‹ˆλ‹€.

* {
    margin: 0;
    padding: 0;
}
body {
    background-color: #E8F5E9;
}
#wrap {
    width: 1200px;
    margin: 0 auto;
}
#header {
    height: 100px;
    background-color: #C8E6C9;
}
#nav {
    height: 100px;
    background-color: #A5D6A7;
}
#main {
    display: flex;
}
#aside {
    width: 30%;
    height: 780px;
    background-color: #81C784;
}
#section {
    width: 40%;
    height: 780px;
    background-color: #66BB6A;
}
#article {
    width: 30%;
    height: 780px;
    background-color: #4CAF50;
}
#footer {
    height: 100px;
    background-color: #43A047;
}

κ²°κ³Ό

Flexλ₯Ό μ΄μš©ν•œ λ ˆμ΄μ•„μ›ƒ - λ°˜μ‘ν˜•

* {
    margin: 0;
    padding: 0;
}
body {
    background-color: #E8F5E9;
}
#wrap {
    width: 1200px;
    margin: 0 auto;
}
#header {
    height: 100px;
    background-color: #C8E6C9;
}
#nav {
    height: 100px;
    background-color: #A5D6A7;
}
#main {
    display: flex;
    flex-wrap: wrap;
}
#aside {
    width: 30%;
    height: 780px;
    background-color: #81C784;
}
#section {
    width: 40%;
    height: 780px;
    background-color: #66BB6A;
}
#article {
    width: 30%;
    height: 780px;
    background-color: #4CAF50;
}
#footer {
    height: 100px;
    background-color: #43A047;
}

/* λ―Έλ””μ–΄ 쿼리 */
@media (max-width : 1300px) {
    #wrap {
        width: 96%;
    }
}
@media (max-width : 768px) {
    #wrap {
        width: 100%;
    }
    #aside {
        width: 30%;
        height: 630px;
    }
    #section {
        width: 70%;
        height: 630px;
    }
    #article {
        width: 100%;
        height: 150px;
    }
}
@media (max-width : 480px) {
    #aside {
        width: 100%;
        height: 200px;
    }
    #section {
        width: 100%;
        height: 430px;
    }
}

κ²°κ³Ό

Gridλ₯Ό μ΄μš©ν•œ λ ˆμ΄μ•„μ›ƒ

table처럼 λ ˆμ΄μ•„μ›ƒμ„ μž‘μ„ 수 μžˆλŠ” 방법 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€.
display: grid;둜 Grid μ‚¬μš©μ„ ν™œμ„±ν™”ν•˜λ©°, grid-template-columnsμ—μ„œλŠ” μš”μ†Œ 배치 κ°€λ‘œ 길이λ₯Ό, grid-template-rowsμ—μ„œλŠ” μ„Έλ‘œ 길이λ₯Ό μ§€μ •ν•΄μ€λ‹ˆλ‹€.

* {
    margin: 0;
    padding: 0;
}
body {
    background-color: #E8F5E9;
}
#wrap {
    width: 1200px;
    margin: 0 auto;
}
#header {
    height: 100px;
    background-color: #C8E6C9;
}
#nav {
    height: 100px;
    background-color: #A5D6A7;
}
#main {
    display: grid;
    grid-template-columns: 30% 40% 30%;
    grid-template-rows: 780px;
}
#aside {
    background-color: #81C784;
}
#section {
    background-color: #66BB6A;
}
#article {
    background-color: #4CAF50;
}
#footer {
    height: 100px;
    background-color: #43A047;
}

κ²°κ³Ό

Gridλ₯Ό μ΄μš©ν•œ λ ˆμ΄μ•„μ›ƒ - λ°˜μ‘ν˜•

λ§ˆμ§€λ§‰ λͺ¨λ°”일 λ―Έλ””μ–΄ 쿼리의 경우 grid-template-areasμ—μ„œ μš”μ†Œ 배치λ₯Ό 이름 ν•œ 개만 써주도둝 ν•©λ‹ˆλ‹€.


* {
    margin: 0;
    padding: 0;
}
body {
    background-color: #E8F5E9;
}
#wrap {
    width: 1200px;
    margin: 0 auto;
}
#header {
    height: 100px;
    background-color: #C8E6C9;
}
#nav {
    height: 100px;
    background-color: #A5D6A7;
}
#main {
    display: grid;
    grid-template-columns: 30% 40% 30%;
    grid-template-rows: 780px;
}
#aside {
    background-color: #81C784;
}
#section {
    background-color: #66BB6A;
}
#article {
    background-color: #4CAF50;
}
#footer {
    height: 100px;
    background-color: #43A047;
}

/* λ―Έλ””μ–΄ 쿼리 */
@media (max-width : 1300px) {
    #wrap {
        width: 96%;
    }
}
@media (max-width : 768px) {
    #wrap {
        width: 100%;
    }
    #main {
        display: grid;
        grid-template-areas: 
            "aside section"
            "article article";
        grid-template-columns: 30% 70%;
        grid-template-rows: 680px 150px;
    }
    #aside {
        grid-area: aside;
    }
    #section {
        grid-area: section;
    }
    #article {
        grid-area: article;
    }
}
@media (max-width : 480px) {
    #main {
        display: grid;
        grid-template-areas: 
            "aside"
            "section"
            "article";
        grid-template-columns: 100%;
        grid-template-rows: 200px 430px;
    }
}

κ²°κ³Ό

λ°˜μ‘ν˜•

'Layout' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Layout] λ ˆμ΄μ•„μ›ƒ 05  (7) 2022.07.29
[Layout] λ ˆμ΄μ•„μ›ƒ 04  (7) 2022.07.29
[Layout] λ ˆμ΄μ•„μ›ƒ 03  (6) 2022.07.29
[Layout] λ ˆμ΄μ•„μ›ƒ 01  (7) 2022.07.29

λŒ“κΈ€


Reference Book

JavaScript
HTML
CSS
κ΄‘κ³  μ€€λΉ„μ€‘μž…λ‹ˆλ‹€.