FrontEnd/CSS

[CSS] μƒλŒ€ λ‹¨μœ„(em/rem)

devwoodie 2022. 4. 19. 16:29
728x90
λ°˜μ‘ν˜•

πŸ“‹ μƒλŒ€ λ‹¨μœ„λž€?

κ³ μ •λ˜μ§€ μ•Šκ³  μ–΄λ–€ 기쀀에 λ”°λΌμ„œ μœ λ™μ μœΌλ‘œ λ°”λ€” 수 μžˆλŠ” 길이λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λ‹¨μœ„μž…λ‹ˆλ‹€.
λŒ€ν‘œμ μœΌλ‘œ em, rem, %, vw, vh 등이 λŒ€ν‘œμ μΈ css의 μƒλŒ€ λ‹¨μœ„μž…λ‹ˆλ‹€.

πŸ“‹ μ ˆλŒ€ λ‹¨μœ„λž€?

μ–΄λ–€ μƒν™©μ—μ„œλ“  항상 κ³ μ •λœ 길이λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λ‹¨μœ„μž…λ‹ˆλ‹€.
λŒ€ν‘œμ μœΌλ‘œ px 이 μžˆμŠ΅λ‹ˆλ‹€.


βœ” em

em은 기쀀이 λ˜λŠ” 값을 μ§€μ •λœ 배수둜 λ³€ν™˜ν•΄ ν‘œν˜„ν•œ 크기λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. μ—¬κΈ°μ„œ 기쀀이 λ˜λŠ” κ°’μ΄λž€ ν˜„μž¬ μŠ€νƒ€μΌ μ§€μ • μš”μ†Œμ˜ font-size 값을 μ˜λ―Έν•©λ‹ˆλ‹€. 즉 ν˜„μž¬ μš”μ†Œμ˜ font-size 값이 16px이라면 2em은 32px을 μ˜λ―Έν•©λ‹ˆλ‹€.

.content{font-size: 16px;}
.content{
    font-size: 1.5em; /* 24px */
    margin: 2em; /* 32px */
}

βœ” rem

rem은 기쀀이 λ˜λŠ” 값을 μ§€μ •λœ 배수둜 λ³€ν™˜ν•΄ ν‘œν˜„ν•œ 크기λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. μ—¬κΈ°μ„œ 기쀀이 λ˜λŠ” 값은 μ΅œμƒμœ„ μš”μ†Œ(html)μ—μ„œ μ§€μ •λœ font-size 값을 μ˜λ―Έν•©λ‹ˆλ‹€. 즉, html νƒœκ·Έμ˜ font-size 값이 16px 이라면 2rem은 32px을 μ˜λ―Έν•©λ‹ˆλ‹€.

html{font-size: 16px;}
.content{
    font-size: 1.5rem; /* 24px */
      margin: 2rem; /* 32px */
}

βœ” 차이점

emκ³Ό rem의 차이점은 기쀀이 λ˜λŠ” 값이 λ‹€λ₯΄λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.
em은 ν˜„μž¬ μš”μ†Œμ˜ font-size 값이 기쀀이며 rem 은 μ΅œμƒμœ„ νƒœκ·Έμ˜ font-size 값이 κΈ°μ€€μž…λ‹ˆλ‹€.


728x90
λ°˜μ‘ν˜•