λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
SITE/LAYOUT

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

by _토맀토 2022. 7. 27.
728x90

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

μ›Ήμ‚¬μ΄νŠΈμ— λŒ€ν•œ κ°€μž₯ 기본적인 ν˜•μ‹μ˜ λ ˆμ΄μ•„μ›ƒ

λ ˆμ΄μ•„μ›ƒμ„ λ§ˆν¬μ—…ν•  λ•Œ 주이할 점 :
λ ˆμ΄μ•„μ›ƒμ„ μ²˜μŒλΆ€ν„° μ„ΈλΆ€μ μœΌλ‘œ λœ―κΈ°λ³΄λ‹¨ 전체적인 것뢀터 λ¨Όμ € μ„ μ–Έν•΄λ‚˜κ°€λŠ” 것이 νš¨μœ¨μ μ΄λ‹€. λ§Œμ•½ λΆ€λͺ¨ β†’ μžμ‹ β†’ μžμ‹1 = μžμ‹2 라면 λ¨Όμ € λΆ€λͺ¨ λ§ˆν¬μ—… λ’€ μŠ€νƒ€μΌ 속성을 μ„ μ–Έν•˜κ³  κ·Έλ‹€μŒ μžμ‹ κ·Έλ‹€μŒ μžμ‹1κ³Ό2 이런 μˆœμ„œλ‘œ μ§„ν–‰ν•˜λ©΄ λœλ‹€.

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

float은 본래 λ ˆμ΄μ•„μ›ƒμ˜ μš©λ„κ°€ μ•„λ‹ˆμ—ˆμœΌλ‚˜ λ§ˆλ•…ν•œ 속성이 μ—†μ–΄ μ‚¬μš©ν•˜κ²Œλ˜μ—ˆλ‹€. λ‘₯λ‘₯ λœ¨λŠ” ν˜•νƒœλ‘œ float 속성이 적용이 μ•ˆλœ blockboxλŠ” float된 box λ°‘μœΌλ‘œ λ“€μ–΄κ°€κ²Œ λœλ‹€.
λ•Œλ¬Έμ— λ°°μΉ˜μ΄λ™μ΄ ν•„μš”ν•œ μš”μ†Œμ— float을 μ΄μš©ν•˜λ©΄ μ„Έλ‘œλ‘œλ§Œ 배치되던 μš”μ†Œλ₯Ό κ°€λ‘œλ‘œ λ‚˜λž€νžˆ λ°°μΉ˜ν•΄μ€„ 수 μžˆλ‹€.

μ£Ό μ‚¬μš© 속성
float: left; - μš”μ†Œλ₯Ό μœ„λ‘œ 뜨게 ν•˜μ—¬ μ™Όμͺ½μœΌλ‘œ λ°°μΉ˜ν•΄μ£ΌλŠ” μ†μ„±μœΌλ‘œ μžμ‹ μ΄ 갈 수 μžˆλŠ” κ°€μž₯ 첫번째 μ™Όμͺ½μ— λ°°μΉ˜κ°€ λœλ‹€.
clear: both; - float을 ν•œ μš”μ†Œμ•„λž˜λ‘œ λ‹€λ₯Έ μš”μ†Œκ°€ μˆ¨μ–΄λ²„λ¦¬λŠ” 버그λ₯Ό μž‘μ•„μ£ΌλŠ” μ—­ν• μ˜ 속성 보톡 footer와 같은 ν•˜λ‹¨ μš”μ†Œμ— μŠ€νƒ€μΌμ„ μ μš©ν•œλ‹€.

* {
    margin: 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: 1220px){
    #wrap {
        width: 96%;
    }
}
@media(max-width: 768px){
    #wrap {
        width: 100%;
    }
}
@media(max-width: 480px){
    #aside {
        width: 100%;
        height: 300px;
    }
    #section {
        width: 100%;
        height: 480px;
    }
}

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

λ ˆμ΄μ•„μ›ƒμ˜ 배치λ₯Ό μœ„ν•΄ λ‚˜μ˜€κ²Œ 된 μ†μ„±μœΌλ‘œ λ°°μΉ˜ν•˜λŠ” 데 μžˆμ–΄ κ°„νŽΈν•˜λ‹€.
floatκ³Ό 달리 λ°°μΉ˜κ°€ ν•„μš”ν•œ 각 μš”μ†Œμ— μ μš©ν•˜λŠ” 것이 μ•„λ‹ˆλΌ κ·Έ μš”μ†Œλ“€μ„ ν’ˆκ³  μžˆλŠ” λΆ€λͺ¨ μš”μ†Œμ—κ²Œ μŠ€νƒ€μΌμ„ μ„ μ–Έν•΄μ£Όμ–΄μ•Ό ν•œλ‹€.
λ•Œλ¬Έμ— 각 μ„Ήμ…˜κ³Ό ꡬ쑰λ₯Ό 잘 νŒŒμ•…ν•˜μ—¬ λΆ€λͺ¨ μžμ‹ 관계에 λŒ€ν•œ λ§ˆν¬μ—…μ„ 잘 ν•΄μ£ΌλŠ” 것이 μ€‘μš”ν•˜λ‹€.

μ£Ό μ‚¬μš© 속성
display: flex; - displayλŠ” μ›ΉνŽ˜μ΄μ§€μ—μ„œ λ ˆμ΄μ•„μ›ƒ 및 μš”μ†Œκ°€ μ–΄λ–»κ²Œ λ³΄μ΄λŠ”κ°€λ₯Ό μ„ μ–Έν•΄μ£ΌλŠ” μ†μ„±μœΌλ‘œ 즉 ν•΄λ‹Ή μš”μ†Œλ₯Ό flex μŠ€νƒ€μΌλ‘œ 보이게 ν•˜λŠ” 속성
flex-wrap: wrap; - flex속성을 톡해 λ°°μΉ˜ν•œ μš”μ†Œκ°€ 잘 μ μš©λ˜λ„λ‘ ν•΄μ£ΌλŠ” μ†μ„±μœΌλ‘œ μ μš©ν•˜μ§€ μ•Šμ„ 경우 배치 적용이 λ˜μ§€ μ•ŠλŠ”λ‹€.

* {
    margin: 0;
    padding: 0;
}
body {
    background-color: #FFF3E0;
}
#wrap {
    width: 1200px;
    margin: 0 auto;
    /* λΆ€λͺ¨μš”μ†ŒμΈ wrap에 속성을 μ„ μ–Έν•œλ‹€. */
    display: flex;
    flex-wrap: wrap; 
    /* μ΅μŠ€ν”Œλ‘œμš°μ—μ„œλŠ” felxλ₯Ό μ§€μ›ν•˜μ§€ μ•ŠλŠ”λ‹€. */
}
#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;
}

/* 미디어쿼리 - λ°˜μ‘ν˜•(λͺ¨λ°”일)μ„€μ • */
/* λ°˜μ‘ν˜• 1220 ~ 480 */
@media(max-width: 1220px){
    #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와 λ§ˆμ°¬κ°€μ§€λ‘œ λΆ€λͺ¨ μ»¨ν…Œμ΄λ„ˆμ—κ²Œ 속성을 λΆ€μ—¬ν•΄μ€€λ‹€.
ν•˜μ§€λ§Œ gridλŠ” flex와 λ‹€λ₯΄κ²Œ 2개 좕을 λͺ¨λ‘ ν™œμš©ν•˜μ—¬ 격자(#) μœ„μ— μ•„μ΄ν…œμ„ λ°°μΉ˜ν•˜λŠ” λ ˆμ΄μ•„μ›ƒ 방식이닀.
λ³΅μž‘ν•œ ꡬ쑰의 웹을 κ΅¬μ„±ν•˜λ €λ©΄ grid λ ˆμ΄μ•„μ›ƒ 방법을 μ‚¬μš©ν•˜λŠ” 것이 νš¨μœ¨μ μ΄λ‹€.

μ£Ό μ‚¬μš© 속성
display: gird; - λ ˆμ΄μ•„μ›ƒ 및 μš”μ†Œλ₯Ό grid μŠ€νƒ€μΌλ‘œ 보이게 ν•˜λŠ” 속성
grid-template-areas - λ ˆμ΄μ•„μ›ƒμ„ #κ³Ό 같은 격자둜 λ‚˜λˆ„μ–΄μ„œ ꡬ쑰λ₯Ό λ‚˜λˆ„μ–΄ μ£ΌλŠ” μ—­ν• 
grid-template-columns: ; - 격자둜 λ‚˜λˆˆ μš”μ†Œμ˜ κ°€λ‘œ 값을 μ •ν•΄μ£ΌλŠ” 속성
grid-template-rows: ; - 격자둜 λ‚˜λˆˆ μš”μ†Œμ˜ μ„Έλ‘œ 값을 μ •ν•΄μ£ΌλŠ” 속성
grid-area: ; - μžμ‹ μ»¨ν…Œμ΄λ„ˆμ—κ²Œ λΆ€λͺ¨μ—κ²Œ 넣은 μŠ€νƒ€μΌμ΄ 적용될 수 μžˆλ„λ‘ 이름을 λΆ€μ—¬ν•΄μ£ΌλŠ” 속성

* {
    margin: 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 {
    grid-area: header;
    background-color: #FFE0B2;

}
#nav {
    grid-area: nav;
    background-color: #FFCC80;

}
#aside {
    grid-area: aside;
    background-color: #FFB74D;

}
#section {
    grid-area: section;
    background-color: #FFA726;
}

#footer {
    grid-area: footer;
    background-color: #FF9800;
}

/* 미디어쿼리 -λ°˜μ‘ν˜• μ„€μ •- */

/* λ°μŠ€ν¬νƒ‘ 및 νƒœλΈ”λ¦Ώ ν™”λ©΄ */
@media(max-width: 1220px){
    #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 400px 100px ;
        /* λͺ¨λ°”일은 λ ˆμ΄μ•„μ›ƒμ΄ 1λ‹¨μœΌλ‘œ λ°”λ€ŒκΈ° λ•Œλ¬Έμ— λ”°λ‘œ λΆ€λͺ¨ 속성을 λ„£μ–΄μ£Όμ–΄μ•Ό ν•œλ‹€. */
    }
}
728x90

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

λ ˆμ΄μ•„μ›ƒ05  (2) 2022.08.05
λ ˆμ΄μ•„μ›ƒ04  (4) 2022.07.29
λ ˆμ΄μ•„μ›ƒ03  (4) 2022.07.29
λ ˆμ΄μ•„μ›ƒ02  (4) 2022.07.29

λŒ“κΈ€


Lucky Charms Rainbow
js
html
css