web/html & css

[CSS] ๊ฐ€๋ณ€ ๊ทธ๋ฆฌ๋“œ, ๋งˆ์ง„, ํŒจ๋”ฉ, ํฐํŠธ

[ ๊ณต์‹ ]

(๊ฐ€๋ณ€ ํฌ๊ธฐ๋กœ ๋งŒ๋“ค ๋ฐ•์Šค์˜ ๊ฐ€๋กœ ๋„ˆ๋น„ / ๊ฐ€๋ณ€ ํฌ๊ธฐ๋กœ ๋งŒ๋“ค ๋ฐ•์Šค๋ฅผ ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” ๋ฐ•์Šค์˜ ๊ฐ€๋กœ ๋„ˆ๋น„) * 100 = ๊ฐ€๋ณ€ ํฌ๊ธฐ์˜ % ๊ฐ’
  • ๐Ÿ‘‰ ๊ฐ€๋ณ€ ๊ทธ๋ฆฌ๋“œ, ๋งˆ์ง„, ํŒจ๋”ฉ์— ๋™์ผํ•˜๊ฒŒ ์ ์šฉ (๋‹จ, ํŒจ๋”ฉ์€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ ์šฉ)
  • px๊ฐ’ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค

 

[ id = "wrap / wrapper" ]

  • ๋ชจ๋“  ํƒœ๊ทธ๋ฅผ ๊ฐ์‹ธ๋Š” ๋ฐ•์Šค
  • ์›น ๋ฌธ์„œ ๋‚ด์šฉ ์ „์ฒด์˜ ํฌ๊ธฐ๋‚˜ ๋ฐฐ๊ฒฝ์ƒ‰ ๋“ฑ ํ•œ๊บผ๋ฒˆ์— ์กฐ์ ˆ
  • ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด ํฌ๊ธฐ์— ์ƒ๊ด€์—†์ด ์›น ๋ฌธ์„œ์˜ ๋‚ด์šฉ ์ค‘์•™์— ๋ฐฐ์น˜
  • ๋ฐ˜์‘ํ˜• ์›น์—์„œ ์ž์‹ ๋ฐ•์Šค๋“ค์ด ๊ฐ€๋ณ€ ํฌ๊ธฐ๋กœ ์„ค์ •๋˜์—ˆ์„ ๋•Œ ๋ฌด์ œํ•œ์œผ๋กœ ๋Š˜์–ด๋‚˜๋Š” ๊ฒƒ ๋ฐฉ์ง€
  • ์ž์‹ ๋ฐ•์Šค๋“ค ๊ฐ€๋ณ€ ํฌ๊ธฐ๋กœ ๋งŒ๋“ค ๋•Œ ๊ธฐ์ค€ ํฌ๊ธฐ๋กœ ์‚ฌ์šฉ
  • ๊ฐ€์žฅ ์ƒ์œ„์˜ ๋ฐ•์Šค -> ๊ฐ€๋ณ€ ๊ทธ๋ฆฌ๋“œ ๊ณ„์‚ฐ ์‹œ ๊ธฐ์ค€์ด ๋  ๋ฐ•์Šค ์—†์Œ
  • <body>
      <div id="wrap">
          <div class="container">

 

[ ๊ฐ€๋ณ€ ํŒจ๋”ฉ ์ ์šฉ ๋ฐฉ๋ฒ• ]

๋ฐฉ๋ฒ• 1. ๊ธฐ๋ณธ ๋ฐฉ๋ฒ•

(๊ฐ€๋ณ€ ํŒจ๋”ฉ์„ ์ ์šฉํ•  ํŒจ๋”ฉ๊ฐ’ / ์ ์šฉํ•  ๋ฐ•์Šค๋ฅผ ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” ๋ฐ•์Šค์˜ ๊ฐ€๋กœ ๋„ˆ๋น„) * 100 = ๊ฐ€๋ณ€ ํŒจ๋”ฉ % ๊ฐ’

ex) 960px ํฌ๊ธฐ์˜ ๋ฐ•์Šค ์•ˆ์— ๋˜ ๋‹ค๋ฅธ ๋ฐ•์Šค๊ฐ€ ์žˆ๊ณ , ์ด ๋ฐ•์Šค์˜ ์ƒํ•˜์ขŒ์šฐ์— 40px ํฌ๊ธฐ์˜ ๊ฐ€๋ณ€ ํŒจ๋”ฉ ์ ์šฉ

๋ฐฉ๋ฒ• 2. ์ œํ•œ์ ์ธ ์กฐ๊ฑด ์กด์žฌํ•  ๋•Œ

  • ๊ณต์‹์€ ๋ฐฉ๋ฒ•1๊ณผ ๊ฐ™๋‹ค.
  • ex) 960px ๋ฐ•์Šค ์•ˆ์— ํ•˜๋‚˜์˜ ๋ฐ•์Šค ์žˆ๊ณ , ์ด ๋ฐ•์Šค๊ฐ€ 600px ๋„˜์ง€ ์•Š์œผ๋ฉด์„œ ์ƒํ•˜์ขŒ์šฐ ํŒจ๋”ฉ๊ฐ’์„ 50px๋กœ ์ ์šฉ
1. 600px ์œ ์ง€ํ•ด์•ผ ํ•˜๋Š” ๋ฐ•์Šค์—์„œ (์™ผ์ชฝ+์˜ค๋ฅธ์ชฝ ํŒจ๋”ฉ๊ฐ’) ๋บ€๋‹ค
2. ๋‚˜์˜จ ๊ฐ’์œผ๋กœ ๊ณต์‹์— ์ ์šฉ์‹œ์ผœ์„œ => ๊ฒฐ๊ณผ %๋ฅผ width๋กœ ์„ค์ •
3. ๊ณต์‹์— ์ ์šฉํ•œ ํŒจ๋”ฉ๊ฐ’ ์„ค์ •

 

[ calc ํ•จ์ˆ˜ ]

  • width ์†์„ฑ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฐ’, ์—ฐ์‚ฐ ๊ธฐํ˜ธ
  • ๋ฐ•์Šค๋Š” ๊ฐ€๋ณ€์ ์ด๋˜ ๋งˆ์ง„์ด๋‚˜ ํŒจ๋”ฉ์€ ๊ณ ์ •๋˜๋„๋ก ์„ค์ •
  • ex) width: calc(100% - (์™ผ์ชฝ+์˜ค๋ฅธ์ชฝ ํŒจ๋”ฉ๊ฐ’));

 

[ ํฐํŠธ ]

(๊ฐ€๋ณ€ ํฐํŠธ๋ฅผ ์ ์šฉํ•  ๊ธ€์ž ํฌ๊นƒ๊ฐ’ / ์ ์šฉํ•  ์š”์†Œ๋ฅผ ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” ์š”์†Œ์˜ ๊ธ€์ž ํฌ๊นƒ๊ฐ’) = ๊ฐ€๋ณ€ ํฐํŠธ๊ฐ’
  • em ๋‹จ์œ„ ์‚ฌ์šฉ ์‹œ PXtoEM ์‚ฌ์ดํŠธ์—์„œ ๊ฐ„๋‹จํžˆ ๊ณ„์‚ฐ ๊ฐ€๋Šฅ
  • ๊ฐ€๋ณ€ ํฐํŠธ์˜ ๋‹จ์œ„๋กœ์„œ๋Š” ๋ธŒ๋ผ์šฐ์ € ๋น„์œจ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋˜๋Š” "vw, vh, vmin, vmax" ์‚ฌ์šฉ
(vw ๋‹จ์œ„๋ฅผ ์ ์šฉํ•  ๊ธ€์ž ํฌ๊นƒ๊ฐ’ * ๋ธŒ๋ผ์šฐ์ €์˜ ๋„ˆ๋น—๊ฐ’) / 100 = ํฌ๊นƒ๊ฐ’
(vh ๋‹จ์œ„๋ฅผ ์ ์šฉํ•  ๊ธ€์ž ํฌ๊นƒ๊ฐ’ * ๋ธŒ๋ผ์šฐ์ €์˜ ๋†’์ž‡๊ฐ’) / 100 = ํฌ๊นƒ๊ฐ’

 

[ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ]

#wrap div{
  width:100%; /* ์š”์†Œ์˜ ํฌ๊ธฐ๋ฅผ 100%๋กœ ์œ ์ง€ */
  max-width:100%; /* ์š”์†Œ์˜ ๊ธฐ๋ณธ ํฌ๊ธฐ ์ด์ƒ์œผ๋กœ๋Š” ํฌ๊ธฐ ์กฐ์ ˆ ๋ถˆ๊ฐ€ */
}

 

 

 

 

 

 

 

 

์ฐธ๊ณ 

- ๊น€์šด์•„, ใ€ŽDo it! ๋ฐ˜์‘ํ˜• ์›นํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐใ€, ์ด์ง€์Šคํผ๋ธ”๋ฆฌ์‹ฑ(2021), p.46~78