๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Layout

[Layout] ๋ ˆ์ด์•„์›ƒ 01

by ์ฝ”๋”ฉ๊ณต์ฑ… 2022. 7. 29.
๋ฐ˜์‘ํ˜•

๋ ˆ์ด์•„์›ƒ 01

์ „์ฒด ์˜์—ญ์ด ๋“ค์–ด๊ฐ„ ๊ตฌ์กฐ์ด๋ฉฐ ์‹ค์ œ ์‚ฌ์ดํŠธ์—์„œ ์ด๋Ÿฐ ๊ตฌ์กฐ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“ค์–ด ๊ฐ€์šด๋ฐ ์˜์—ญ์„ ์„ค์ •ํ•œ๋‹ค.

Float์„ ์ด์šฉํ•œ ๋ ˆ์ด์•„์›ƒ

๋ ˆ์ด์•„์›ƒ์˜ ํ‹€์„ ์žก์„ ๋•Œ <div> ํƒœ๊ทธ๊ฐ€ ์‚ฌ์šฉ๋˜๋ฉฐ ํ•ด๋‹น ํƒœ๊ทธ๋Š” Block ํ˜•์‹์ด๋ฏ€๋กœ ๊ฐ€๋กœ๋กœ ๋‚˜๋ž€ํžˆ ์ •๋ ฌ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
์ด๋•Œ ๋‚˜๋ž€ํžˆ ์ •๋ ฌํ•ด์ฃผ๊ณ ์ž ํ•˜๋Š” ์š”์†Œ์˜ CSS ์†์„ฑ์— float: left;๋ฅผ ์ ์–ด์ฃผ๋ฉด ๋‚˜๋ž€ํžˆ ์ •๋ ฌ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋‹จ, ์ด ์†์„ฑ์„ ์“ฐ๊ฒŒ ๋  ๊ฒฝ์šฐ, ์†์„ฑ์„ ์ผ๋˜ ์•„๋ž˜์˜ footer์˜ height๊ฐ’์ด 0์ด ๋˜์–ด ๋ณด์ด์ง€ ์•Š๊ฒŒ ๋˜๋Š” ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ ์ด๋Ÿด ๋•Œ์—๋Š” ๋ณด์ด์ง€ ์•Š๋Š” ํ•ด๋‹น ์š”์†Œ์— clear: both;๋ฅผ ์ ์–ด๋†“์œผ๋ฉด ํ•ด๊ฒฐ๋œ๋‹ค.

* {
    margin: 0;
    padding: 0;
}
body {
    background-color: #FFF3E0;
}
#wrap {
    width: 1200px;
    margin: 0 auto;
}
#header {
    width: 1200px;
    height: 100px;
    background-color: #FFE0B2;
}
#nav {
    width: 1200px;
    height: 100px;
    background-color: #FFCC80;
}
#aside {
    width: 400px;
    height: 780px;
    background-color: #FFB74D;
    float: left;    /* ์ด๋Ÿฐ ์‹์œผ๋กœ ๋‚˜๋ž€ํžˆ ๋ถ™์—ฌ์ฃผ๊ณ ์ž ํ•˜๋Š” ์˜์—ญ์— float ์ ์šฉ์‹œํ‚ค๊ธฐ! */
}
#section {
    width: 800px;
    height: 780px;
    background-color: #FFA726;
    float: left;    /* ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ float ์ ์šฉ */
}
#footer {
    width: 1200px;
    height: 100px;
    background-color: #FF9800;
    clear: both;    /* ๋ฒ„๊ทธ ๋ฐฉ์ง€์šฉ์œผ๋กœ ๊ผญ ๋ถ™์—ฌ๋„ฃ๊ธฐ! */
}

๊ฒฐ๊ณผ

Float์„ ์ด์šฉํ•œ ๋ ˆ์ด์•„์›ƒ - ๋ฐ˜์‘ํ˜•

wrap ์†์„ฑ์˜ width๋งŒ์„ 1200px๋กœ ๊ณ ์ •์‹œํ‚จ ํ›„ ๋‚˜๋จธ์ง€ ์†์„ฑ์˜ width ๊ฐ’์€ ํผ์„ผํ…Œ์ด์ง€๋กœ ํ™˜์‚ฐ์‹œํ‚จ๋‹ค.
๋ฏธ๋””์–ด ์ฟผ๋ฆฌ์—์„œ ๋…ธํŠธ๋ถ ์ „์šฉ(max-width: 1300px), ํƒœ๋ธ”๋ฆฟ PC ์ „์šฉ(768px), ์Šค๋งˆํŠธํฐ ์ „์šฉ(480px) ์‚ฌ์ด์ฆˆ๋ฅผ ๋งŒ๋“ ๋‹ค.

* {
    margin: 0;
    padding: 0;
}
body {
    background-color: #FFF3E0;
}
#wrap {
    width: 1200px;
    margin: 0 auto;
}
#header {
    width: 100%;
    height: 100px;
    background-color: #FFE0B2;
}
#nav {
    width: 100%;
    height: 100px;
    background-color: #FFCC80;
}
#aside {
    width: 30%;
    height: 780px;
    background-color: #FFB74D;
    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%;     /* ์ขŒ์šฐ๊ฐ„ 2% ์—ฌ๋ฐฑ์„ ์œ„ํ•ด 96%๋กœ ์„ค์ •ํ•จ */
    }
}
@media (max-width : 768px) {
    #wrap {
        width: 100%;    /* ์—ฌ๋ฐฑ ์ œ๊ฑฐ */
    }
}
@media (max-width : 480px) {
    #aside {
        width: 100%;
        height: 300px;
    }
    #section {
        width: 100%;
        height: 480px;
    }
}

๊ฒฐ๊ณผ

Flex๋ฅผ ์ด์šฉํ•œ ๋ ˆ์ด์•„์›ƒ

display: flex;
flex-wrap: wrap;

์œ„์˜ ๋‚ด์šฉ์„ ์ž์‹ ํƒœ๊ทธ๋ฅผ ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” ๋ถ€๋ชจ ์š”์†Œ์—๊ฒŒ๋งŒ ์ ์šฉํ•ด์ฃผ๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด์˜ Float ๋ฐฉ์‹๋ณด๋‹ค ๋” ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•˜๋‹ค.

* {
    margin: 0;
    padding: 0;
}
body {
    background-color: #FFF3E0;
}
#wrap {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;    /* ์ต์Šคํ”Œ๋กœ์–ด์—์„œ๋Š” flex ์‚ฌ์šฉ๋ถˆ๊ฐ€ */
}
#header {
    width: 1200px;
    height: 100px;
    background-color: #FFE0B2;
}
#nav {
    width: 1200px;
    height: 100px;
    background-color: #FFCC80;
}
#aside {
    width: 400px;
    height: 780px;
    background-color: #FFB74D;
}
#section {
    width: 800px;
    height: 780px;
    background-color: #FFA726;
}
#footer {
    width: 1200px;
    height: 100px;
    background-color: #FF9800;
}

๊ฒฐ๊ณผ

Flex๋ฅผ ์ด์šฉํ•œ ๋ ˆ์ด์•„์›ƒ - ๋ฐ˜์‘ํ˜•

* {
    margin: 0;
    padding: 0;
}
body {
    background-color: #FFF3E0;
}
#wrap {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;    /* ์ต์Šคํ”Œ๋กœ์–ด์—์„œ๋Š” flex ์‚ฌ์šฉ๋ถˆ๊ฐ€ */
}
#header {
    width: 100%;
    height: 100px;
    background-color: #FFE0B2;
}
#nav {
    width: 100%;
    height: 100px;
    background-color: #FFCC80;
}
#aside {
    width: 30%;
    height: 780px;
    background-color: #FFB74D;
}
#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๋ฅผ ์ด์šฉํ•œ ๋ ˆ์ด์•„์›ƒ

table์ฒ˜๋Ÿผ ๋ ˆ์ด์•„์›ƒ์„ ์žก์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.
display: grid;๋กœ Grid ์‚ฌ์šฉ์„ ํ™œ์„ฑํ™”ํ•˜๋ฉฐ, grid-template-areas์—์„œ ์š”์†Œ๋ฅผ ๋ฐฐ์น˜ํ•˜๊ณ , grid-template-columns์—์„œ๋Š” ์š”์†Œ ๋ฐฐ์น˜ ๊ฐ€๋กœ ๊ธธ์ด๋ฅผ, grid-template-rows์—์„œ๋Š” ์„ธ๋กœ ๊ธธ์ด๋ฅผ ์ง€์ •ํ•ด์ค๋‹ˆ๋‹ค.

#aside {
     grid-area: aside;
}

๋งˆ์ง€๋ง‰์œผ๋กœ ๋ถ€๋ชจ ์š”์†Œ์˜ grid-template-areas์—์„œ ์–ธ๊ธ‰๋œ ์ด๋ฆ„์„ ์ž์‹ ์š”์†Œ์˜ grid-area ์†์„ฑ์— ๋˜‘๊ฐ™์ด ์ ์–ด ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๋Š” ์ž‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

* {
    margin: 0;
    padding: 0;
}
body {
    background-color: #FFF3E0;
}
#wrap {
    width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-areas:    /* ํ‘œ๋ฅผ ์งœ๋“ฏ์ด ์˜์—ญ ์ •๋ฆฌ */
        "header header"
        "nav nav"
        "aside section"
        "footer footer";
    grid-template-columns: 400px 800px;
    grid-template-rows: 100px 100px 780px 100px;
}
#header {
    background-color: #FFE0B2;
    grid-area: header;
}
#nav {
    background-color: #FFCC80;
    grid-area: nav;
}
#aside {
    background-color: #FFB74D;
    grid-area: aside;
}
#section {
    background-color: #FFA726;
    grid-area: section;
}
#footer {
    background-color: #FF9800;
    grid-area: footer;
}

๊ฒฐ๊ณผ

Grid๋ฅผ ์ด์šฉํ•œ ๋ ˆ์ด์•„์›ƒ - ๋ฐ˜์‘ํ˜•

๋งˆ์ง€๋ง‰ ๋ชจ๋ฐ”์ผ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ์˜ ๊ฒฝ์šฐ grid-template-areas์—์„œ ์š”์†Œ ๋ฐฐ์น˜๋ฅผ ์ด๋ฆ„ ํ•œ ๊ฐœ๋งŒ ์จ์ฃผ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

* {
    margin: 0;
    padding: 0;
}
body {
    background-color: #FFF3E0;
}
#wrap {
    width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-areas: 
        "header header"
        "nav nav"
        "aside section"
        "footer footer";
    grid-template-columns: 30% 70%;
    grid-template-rows: 100px 100px 780px 100px;
}
#header {
    background-color: #FFE0B2;
    grid-area: header;
}
#nav {
    background-color: #FFCC80;
    grid-area: nav;
}
#aside {
    background-color: #FFB74D;
    grid-area: aside;
}
#section {
    background-color: #FFA726;
    grid-area: section;
}
#footer {
    background-color: #FF9800;
    grid-area: footer;
}

/* ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ */
@media (max-width : 1300px) {
    #wrap {
        width: 96%;
    }
}
@media (max-width : 768px) {
    #wrap {
        width: 100%;
    }
}
@media (max-width : 480px) {
    #wrap {
        grid-template-areas:    /* ์ „๋ถ€ ํ•œ์ค„๋กœ ๋ฐฐ์น˜ */
            "header"
            "nav"
            "aside"
            "section"
            "footer";
        grid-template-columns: 100%;
        grid-template-rows: 100px 100px 300px 480px 100px;
    }
}

๊ฒฐ๊ณผ

๋ฐ˜์‘ํ˜•

'Layout' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Layout] ๋ ˆ์ด์•„์›ƒ 05  (7) 2022.07.29
[Layout] ๋ ˆ์ด์•„์›ƒ 04  (7) 2022.07.29
[Layout] ๋ ˆ์ด์•„์›ƒ 03  (6) 2022.07.29
[Layout] ๋ ˆ์ด์•„์›ƒ 02  (7) 2022.07.29

๋Œ“๊ธ€


Reference Book

JavaScript
HTML
CSS
๊ด‘๊ณ  ์ค€๋น„์ค‘์ž…๋‹ˆ๋‹ค.