[CSS] font-size๋ฅผ ํ†ตํ•œ rem์‚ฌ์šฉ๋ฐฉ๋ฒ•๊ณผ ์œ ์˜ํ•  ์ 

2021. 8. 27. 10:18ยท๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/CSS
<h1>HEADING</h1>
<p>
    Lorem ipsum dolor sit amet consectetur adipisicing elit. Impedit possimus necessitatibus natus a ipsam, voluptate dolores, optio quibusdam doloribus architecto obcaecati, eveniet magni ex veniam dolorum blanditiis tempora exercitationem ea!
    Voluptatem voluptate nulla recusandae debitis tempora rem maxime provident nobis minus neque quod excepturi molestiae sapiente, fuga ducimus sint quia quam eum qui enim cupiditate ab, officiis vitae! At, ipsum?
    Vero fugit doloremque, ipsum nihil quis quae cumque magni reprehenderit tempore molestiae repellat magnam esse aspernatur et necessitatibus suscipit! Aliquid a, sunt debitis autem dolorem omnis consequatur ullam est tempora?
</p>
<h2>์ฐธ๊ณ  <a href="https://nekocalc.com/px-to-rem-converter">px to rem convert</a></h2>
<h2>์ฐธ๊ณ  <a href="http://www.standardista.com/px-to-rem-conversion-if-root-font-size-is-16px/">rem ํผ์„ผํŠธ ์•Œ์•„๋ณด๊ธฐ</a></h2>
<h2>์ฐธ๊ณ  <a href="https://nykim.work/85">๋ฐ˜์‘ํ˜• ์›น ๋š๋”ฑ ๋งŒ๋“ค๊ธฐ (2) - vw, vh, vmin, vmax, em, rem ์†์„ฑ</a></h2>
html {
    /* 62.5% => 1rem === 10px */
    font-size: 62.5%;
}
h1 {
    /* 62.5% => 60px */
    font-size: 6rem;

    background-color: plum;
    margin: 2rem;
}
p {
    /* 62.5% => 16px */
    font-size: 1.6rem;
}
@media all and (max-width: 768px) {
    html {
        /* 75% => 1rem === 12px */
        font-size: 75%;
        background-color: #eaeaea;
    }
    h1 {
        /* 12 * 3 = font-size: 36px; */
        font-size: 3rem;
        
        /* margin :: 12px * 2rem = 24px; */
    }
    p {
        /* 12 * 1.6 = font-size: 19.2px; */
        font-size: 1.6rem;
    }
}

๋ธŒ๋ผ์šฐ์ €์— ๋™์ผํ•œ ๊ฐ’์œผ๋กœ font-size๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•

  1. font-size: 1em;
  2. font-size: 100%;
  3. font-size: 16px; // this is default.

html์ด๋‚˜ body์— %๋‚˜ em์„ ์‚ฌ์šฉํ•ด ์ „์ฒด์ ์œผ๋กœ ์‚ฌ์ด์ฆˆ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

font-size: 100% ์˜๋ฏธ

em๊ณผ rem์˜ ์ ์ ˆํ•œ ์‚ฌ์šฉ๋ฐฉ๋ฒ•

 


 

์ •๋ฆฌ๐Ÿ“Œ

em ๋‚ด๊ฐ€ ์ž‘์—…ํ•˜๊ธฐ ํž˜๋“ค๋‹ค. (ํ•˜๋‚˜ํ•˜๋‚˜ ๊ณ„์‚ฐํ•ด์ค˜์•ผ ํ•จ์œผ๋กœ)

rem๋„ ๊ณ„์‚ฐํ•˜๊ธด ํž˜๋“ค์ง€๋งŒ em๋ณด๋‹จ ์•„๋‹˜.

๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค font-size๋Š” ๋‹ค๋ฅด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ px๋กœ ๊ณ ์ •ํ•ด์ฃผ์–ด ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์— ํ˜ธํ™˜๋  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.(๋””์ž์ธ์— ๋งž๊ฒŒ ๋‚˜์˜ค๋„๋ก)

๋˜ํ•œ, ์›น์ ‘๊ทผ์„ฑ์— rem์„ ์“ฐ๊ธฐ์—๋Š” ๋ถ€์ ํ•ฉํ•˜๋‹ค. ์ƒ์œ„์˜ font-size๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ๋˜‘๊ฐ™์ด ์‚ฌ์ด์ฆˆ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด ๋ ˆ์ด์•„์›ƒ์ด ํ‹€์–ด์ ธ ๋””์ž์ธ์— ์–ด๊ธ‹๋‚˜๋Š” ์ƒํ™ฉ์ด ๋‚˜์˜จ๋‹ค.

rem์ด๋‚˜ em์€ ํ…์ŠคํŠธ๊ฐ€ ๋งŽ์€ ํŽ˜์ด์ง€์— ์“ฐ๊ฑฐ๋‚˜ ๋ฐ˜์‘ํ˜•์— ๋”ฐ๋ผ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋‹ค๋ฅธ ๊ณณ์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 


 

์ตœ์ƒ์œ„ ์š”์†Œ ๋ง๊ณ  ๊ธฐํƒ€ ๋‹ค๋ฅธ ํŠน์ • ์š”์†Œ์˜ font-size๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ทธ ํฌ๊ธฐ๊ฐ€ ๋ฐ”๋€Œ์–ด์•ผ ํ•˜๋Š” ๊ณณ์— ์‚ฌ์šฉ.

์ผ๋ฐ˜์ ์œผ๋กœ, em ๋‹จ์œ„๋ฅผ ์จ์•ผ ํ•  ์˜ค์ง ํ•˜๋‚˜์˜ ์˜ˆ๋ฅผ ๊ผฝ์ž๋ฉด ์–ด๋А ํ•œ ์š”์†Œ์˜ ํฌ๊ธฐ๋ฅผ ์ •ํ•  ๋•Œ ํ•ด๋‹น ์š”์†Œ๊ฐ€ ๊ธฐ๋ณธ ํฐํŠธ ํฌ๊ธฐ๋กœ ์ง€์ •๋˜์–ด ์žˆ์ง€ ์•Š์•˜์„ ๋•Œ ๋ฟ์ž…๋‹ˆ๋‹ค.

์•ž์˜ ์˜ˆ์ œ์—์„œ๋„ ์‚ดํŽด๋ดค๋“ฏ์ด, ๋””์ž์ธ ๊ตฌ์„ฑ ์š”์†Œ ์ค‘ ๋ฉ”๋‰ด ํ•ญ๋ชฉ, ๋ฒ„ํŠผ ๊ทธ๋ฆฌ๊ณ  ์ œ๋ชฉ์€ ์ž๊ธฐ๋งŒ์˜ ํฐํŠธ ํฌ๊ธฐ๊ฐ€ ์ง€์ •๋˜์–ด ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. ๋งŒ์•ฝ์— ์ด๋“ค์˜ ํฐํŠธ ํฌ๊ธฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด, ์ „์ฒด ๊ตฌ์„ฑ ์š”์†Œ๋“ค๋„ ๊ฐ™์ด ๋น„๋ก€ํ•˜๊ฒŒ ํฌ๊ธฐ๊ฐ€ ๋ฐ”๋€Œ๊ธธ ๋ฐ”๋ผ์ง€์š”.

์ด๋Ÿฐ ์ง€์นจ์— ํ•ด๋‹นํ•˜๋Š” ์„ค์ • ์†์„ฑ์—” margin, padding, width, height ๊ทธ๋ฆฌ๊ณ  line-height์ด ์žˆ๋Š”๋ฐ, ๋ฌผ๋ก  ์‚ฌ์šฉ๋œ ์š”์†Œ์—๋Š” ๊ธฐ๋ณธ ํฐํŠธ ํฌ๊ธฐ๋กœ ์ง€์ •๋˜์–ด ์žˆ์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•˜๋‚˜ ๋” ์ถฉ๊ณ ํ•ด ๋“œ๋ฆฌ๊ณ  ์‹ถ์€ ๋ง์€, em ๋‹จ์œ„๋ฅผ ์“ฐ์‹ค ๋• ์ƒ์†์— ๋”ฐ๋ฅธ ์• ๋งคํ•œ ์ƒํ™ฉ์„ ํ”ผํ•˜๊ณ  ๋˜ ํฌ๊ธฐ๊ฐ€ ๋Œ€์นญ์ ์œผ๋กœ ๋ณ€ํ•  ์ˆ˜ ์žˆ๋„๋ก, ์ง€์ •ํ•œ ์š”์†Œ์˜ ํฐํŠธ ํฌ๊ธฐ๋Š” ๊ผญ rem ๋‹จ์œ„๋ฅผ ์“ฐ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋ช‡ ๊ฐ€์ง€ ์˜ˆ์™ธ ์ƒํ™ฉ์„ ์ œ์™ธํ•˜๊ณค, ํฐํŠธ ํฌ๊ธฐ๊ฐ€ ์ตœ์ƒ์œ„ ์š”์†Œ์— ์ง€์ •๋œ ๊ฒƒ ๋ง๊ณ  ๋‹ค๋ฅธ ์š”์†Œ์˜ ์˜ํ–ฅ์„ ๋ฐ›์•„์„œ ๋ฐ”๋€Œ๊ฒŒ ๋˜๋Š” ์ƒํ™ฉ์„ ์›ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋ณ„๋กœ ์—†์„ ๊ฒ๋‹ˆ๋‹ค.

(...)

em ๊ธฐ๋ฐ˜์˜ ํฐํŠธ ํฌ๊ธฐ๋ฅผ ์“ฐ๊ธฐ ์ ๋‹นํ•œ ํ•œ ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด ๋“œ๋กญ ๋‹ค์šด ๋ฉ”๋‰ด๊ฐ€ ์žˆ๋Š”๋ฐ, ๋ณดํ†ต ๋‘ ๋ฒˆ์งธ ๋‹จ๊ณ„์— ์žˆ๋Š” ๋ฉ”๋‰ด ํ•ญ๋ชฉ์˜ ํฐํŠธ ํฌ๊ธฐ๋Š” ์ฒซ์งธ ๋‹จ์— ์žˆ๋Š” ๋ฉ”๋‰ด์˜ ํฐํŠธ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •ํ•  ๋•Œ๊ฐ€ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด, ๋ฒ„ํŠผ์— ์‚ฌ์šฉ๋œ ํฐํŠธ ์•„์ด์ฝ˜์˜ ํฌ๊ธฐ๋ฅผ ์ •ํ•  ๋•Œ ํ•จ๊ป˜ ์žˆ๋Š” ๋ฒ„ํŠผ ํ…์ŠคํŠธ์˜ ํฌ๊ธฐ์— ๋งž๋„๋ก ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„ ์›น ๋””์ž์ธ์— ํ•„์š”ํ•œ ์š”์†Œ๋Š” ์ด๋Ÿฌํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์ด ํ•„์š” ์—†์„ ํ„ฐ๋ผ, ์ผ๋ฐ˜์ ์œผ๋กœ ํฐํŠธ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•  ๋• rem ๋‹จ์œ„๋ฅผ ์“ฐ๊ณ , ํŠน๋ณ„ํ•œ ์ƒํ™ฉ์—์„œ๋งŒ em ๋‹จ์œ„๋ฅผ ์“ฐ์‹œ๋ฉด ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๋ฐ”๋กœ ์œ„์—์„œ ์„ค๋ช…ํ•œ em ๋‹จ์œ„๋ฅผ ์จ์•ผ ํ•  ์ด์œ  ๋ง๊ณ , ๋ธŒ๋ผ์šฐ์ €์— ์„ค์ •๋œ ํฐํŠธ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๊ทธ ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•ด์•ผ ํ•˜๋Š” ๊ณณ์—๋Š” ๋ชจ๋‘ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—๋Š” ์ผ๋ฐ˜ ๋””์ž์ธ ๊ฑฐ์˜ ๋ชจ๋‘์— ํ•ด๋‹นํ•˜๋Š” ๋†’์ด๋ผ๋˜๊ฐ€, ๋„ˆ๋น„, ํŒจ๋”ฉ, ๋งˆ์ง„, ํ…Œ๋‘๋ฆฌ ๋„ˆ๋น„, ๋Œ€๋ถ€๋ถ„์˜ ํฐํŠธ ํฌ๊ธฐ, ๊ทธ๋ฆผ์ž ๋“ฑ๋“ฑ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ ˆ์ด์•„์›ƒ์˜ ๋ชจ๋“  ๋ถ€๋ถ„์ด ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

ํ•œ ๋งˆ๋””๋กœ, ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•ด์•ผ ํ•˜๋Š” ๊ณณ์ด๋ผ๋ฉด rem ๋‹จ์œ„๋ฅผ ์“ฐ๋ผ๋Š” ๋ง์ด์ฃ .

 

์ถœ์ฒ˜: https://web-atelier.tistory.com/44 [์›น์•„ํ‹€๋ฆฌ์— - Web atelier]

 


Reference

https://nykim.work/85

https://web-atelier.tistory.com/44

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด (์ƒˆ์ฐฝ์—ด๋ฆผ)
'๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/CSS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [CSS] flex ๋ฐ˜์‘ํ˜•์— ๋”ฐ๋ผ ๋ฐ•์Šค ๋–จ์–ด๋œจ๋ฆฌ๊ธฐ
  • [CSS] viewport (vw, vh, vmin, vmax) ์˜๋ฏธ์™€ ์‚ฌ์šฉ
  • [CSS] ๊ฐ€์ƒ์„ ํƒ์ž๋กœ '|' ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•
  • [CSS] nth-child(n) / nth-child(-n)
jmjm
jmjm
  • jmjm
    /* jmjmjm */
    jmjm
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (132)
      • ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY (94)
        • HTML (9)
        • CSS (25)
        • SASS (4)
        • JavaScript (17)
        • jQuery (9)
        • Publishing (8)
        • Git (11)
        • React (9)
        • Vue (0)
        • ์›น์ ‘๊ทผ์„ฑ (1)
        • Gulp (1)
      • ๐ŸฃcodeLab (27)
      • ๐ŸŒˆetc (8)
      • ๐Ÿฅฐ ์ผ์ƒ (2)
      • ๐ŸŒŸ์ฝ์–ด๋ณด๊ธฐ (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์›น์ ‘๊ทผ์„ฑ
    ์•„์ฝ”๋””์–ธ๋ฉ”๋‰ด
    sass
    javascript nodelist
    javascript ์ปฌ๋ ‰์…˜
    vscode ๋‹จ์ถ•ํ‚ค
    html collection
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‘œํ˜„์‹๋ฌธ
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ slideup
    react import export
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น
    sticky codepen
    javascript htmlcollection
    HTML Form
    css ํ˜•์ œ์ธ์ ‘์ž ์•ˆ๋ผ์š”
    ์ ‘๊ทผ์„ฑ ์ฃผ์˜์‚ฌํ•ญ
    css ๊ฐ€์ƒ์„ ํƒ์ž
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‘œํ˜„์‹ ๋ฌธ
    sticky ํ™œ์šฉ
    ํ˜•์ œ์ธ์ ‘์ž display none
    sass compiler
    javascript ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น
    ํ˜•์ œ์ธ์ ‘์ž ์•ˆ๋˜๋Š” ์ด์œ 
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ปฌ๋ ‰์…˜
    css flex
    javascript htmlcollection nodelist
    ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น ์ข…๋ฅ˜
    CSS ์„ ํƒ์ž
    sticky jsfiddle
    ํ˜•์ œ์ธ์ ‘์ž
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
jmjm
[CSS] font-size๋ฅผ ํ†ตํ•œ rem์‚ฌ์šฉ๋ฐฉ๋ฒ•๊ณผ ์œ ์˜ํ•  ์ 
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”