λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
🌌 | WEB DEV/HTML CSS

CSS의 ν¬κΈ°λ‹¨μœ„λ“€!(px, em, rem, vw λ“±)

by KASSID 2022. 1. 9.

λͺ©μ°¨

    728x90

    CSS의 λ‹€μ–‘ν•œ λ‹¨μœ„λ“€μ— λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μž!

    κ·Έ μ€‘μ—μ„œλ„ 주둜 μ‚¬μš©ν•˜λŠ” 것듀을 μ •λ¦¬ν•΄λ³΄μ•˜λ‹€.

     

    μš°μ„  2μ’…λ₯˜λ‘œ λ‚˜λˆŒ 수 μžˆλ‹€.

     

    μ ˆλŒ€ λ‹¨μœ„

    κ³ μœ ν•œ 크기λ₯Ό κ°–λŠ”λ‹€.

    즉, 타 μš”μ†Œμ— 영ν–₯ 받지 μ•ŠλŠ”λ‹€.

     

    μ’…λ₯˜

    px : ν”½μ…€ /  μ»΄ν“¨ν„° 이미지, λ””μŠ€ν”Œλ ˆμ΄λ₯Ό κ΅¬μ„±ν•˜κ³  μžˆλŠ” μ΅œμ†Œ λ‹¨μœ„

     


    μƒλŒ€ λ‹¨μœ„

    μš”μ†Œμ— μ§€μ •λœ 크기(μƒμ†λœ 크기값 or κΈ°λ³Έ 크기값)에 λŒ€ν•œ μƒλŒ€μ μΈ 크기λ₯Ό κ°–λŠ”λ‹€.

    λ°˜μ‘ν˜• μ›Ήλ“± 상황에 λ§žμΆ”μ–΄ λ³€ν•΄μ•Όν•˜λŠ” 경우 ν™œμš©ν•œλ‹€.

     

    μ’…λ₯˜

     %  : νΌμ„ΌνŠΈ / μƒλŒ€ λΉ„μœ¨

     em  : 배수 / 상속에 λ”°λΌμ„œ 값이 계속 λ³€ν•œλ‹€. (쀑첩이 됨)

     rem  : μ΅œμƒμœ„ μš”μ†Œμ— λŒ€ν•œ 배수 / emκ³Ό λ‹€λ₯΄κ²Œ μ ˆλŒ€μ  기쀀이 μžˆμ–΄ λ‹€λ₯Έ 값을 가리킀지 μ•ŠλŠ”λ‹€.

    (16px이 κΈ°λ³Έ μ„€μ •μ΄λ―€λ‘œ 아무 μ„€μ •μ—†μ΄ν•˜λ©΄ 16px적용!)

    em vs rem

    μ˜ˆμ‹œ

    1. em

    <div class="parent">
        μ•ˆλ…•ν•˜μ„Έμš”
        <div class="child">
            μ•ˆλ…•ν•˜μ„Έμš”
            <div class="grandchild">
                μ•ˆλ…•ν•˜μ„Έμš”
            </div>
        </div>
    </div>

     

    .parent {
        font-size: 15px;
    }
    .child {
        font-size: 2em;
    }
    .grandchild {
        font-size: 2em;
    }

    em의 κ²½μš°μ—λŠ” μ°Έμ‘°λ₯Ό ν•˜λŠ” 크기가 λ°”λ‘œ μœ„μ˜ λΆ€λͺ¨μš”μ†Œμ΄κΈ° λ•Œλ¬Έμ—

    μ€‘μ²©ν•΄μ„œ 적용이 λœλ‹€.

     

    μœ„μ˜ κ²°κ³Όμ—μ„œλŠ” 15 30 60px둜 적용이 된 λͺ¨μŠ΅μ΄λ‹€.

     

     

    2. rem

    <div class="parent">
        μ•ˆλ…•ν•˜μ„Έμš”
        <div class="child">
            μ•ˆλ…•ν•˜μ„Έμš”
            <div class="grandchild">
                μ•ˆλ…•ν•˜μ„Έμš”
            </div>
            <div class="grandchild2">
                μ•ˆλ…•ν•˜μ„Έμš”
            </div>
        </div>
    </div>

     

    .parent {
        font-size: 15px;
    }
    .child {
        font-size: 2rem;
    }
    .grandchild {
        font-size: 2rem;
    }
    .grandchild2 {
        font-size: 30px;
    }

    rem은 emκ³Ό λ‹€λ₯΄κ²Œ μ΅œμƒμœ„ μš”μ†Œ

    즉, html에 적용된 μ‚¬μ΄μ¦ˆλ₯Ό κΈ°μ€€μœΌλ‘œ μƒλŒ€κ°’μ„ 가진닀.

     

    html의 폰트 크기값은 λ”°λ‘œ μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ 16px이닀.

    μœ„ κ²°κ³Όμ—μ„œ μ•Œ 수 μžˆλ“―μ΄ 2rem의 ν¬κΈ°λŠ” 30px보닀 큰 32px이닀.

    16px의 2배둜 적용이 된 것이닀.

     

    κ·Έ μ™Έ)

    vw : viewport width / λ°±λΆ„μœ¨

    vh : viewport height / λ°±λΆ„μœ¨

     

    viewportλŠ” ν™”λ©΄ λ””μŠ€ν”Œλ ˆμ΄ μƒμ˜ ν‘œμ‹œ μ˜μ—­μ„ λ§ν•œλ‹€.

    창의 크기라고 보면 λœλ‹€.

    λͺ¨λ°”일 μΉœν™”μ μΈ μ‚¬μ΄νŠΈλ₯Ό λ§Œλ“€ λ•Œ κΌ­ κ³ λ €ν•΄μ•Όν•œλ‹€κ³  ν•œλ‹€.

    (λ‹€μ–‘ν•œ λͺ¨λ°”일 κΈ°κΈ°μ—μ„œλ„ νŽ˜μ΄μ§€μ˜ λ„ˆλΉ„λ‚˜ ν™”λ©΄ λ°°μœ¨μ„ μ„€μ •ν•  수 있게 ν•˜κΈ° μœ„ν•΄μ„œ)

     

     

     

     

     

     

    λŒ“κΈ€