CSS์˜ ์†์„ฑ


๐Ÿ“ฆย ๋ฐ•์Šค ๋ชจ๋ธ (display)

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

  • <span> ํƒœ๊ทธ๋Š” ๋Œ€ํ‘œ์ ์ธ ์ธ๋ผ์ธ ์š”์†Œ์ด๋‹ค.
  • ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค๋ฅธ ์š”์†Œ๊ฐ€ ๊ฐ™์€ ์ค„์— ๋‚˜ํƒ€๋‚œ๋‹ค.
  • ์ด๋Š” ํฌํ•จํ•œ ์ฝ˜ํ…์ธ  ํฌ๊ธฐ๋งŒํผ ์ž๋™์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค. ์ด๋Š” style ์†์„ฑ์œผ๋กœ width์™€ height๋ฅผ ์ฃผ์–ด๋„ ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • margin์€ ์ขŒ์šฐ๋งŒ ์ ์šฉ๋˜๊ณ  ์ƒํ•˜๋Š” ์ ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค. padding์€ ์ƒํ•˜์ขŒ์šฐ ์ „๋ถ€ ์ ์šฉ๋˜์ง€๋งŒ ์ƒํ•˜ ๋ถ€๋ถ„์€ ๋ฐฐ๊ฒฝ์ƒ‰๋งŒ ์ ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • <span> ํƒœ๊ทธ(inline ์š”์†Œ) ์•ˆ์— <div> ํƒœ๊ทธ(block ์š”์†Œ)๋ฅผ ๋„ฃ๋Š” ๊ฒƒ์€ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
  • Blcok ์š”์†Œ

  • <div> ํƒœ๊ทธ๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ธ”๋ก ์š”์†Œ์ด๋‹ค.
  • ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค๋ฅธ ์š”์†Œ๊ฐ€ ๋‹ค์Œ ์ค„๋กœ ๋„์–ด์ง„๋‹ค.
  • style ์†์„ฑ์œผ๋กœ width์™€ height๊ฐ€ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • margin๊ณผ padding๋„ ์ „๋ถ€ ์ ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ margin์€ ์„ธ๋กœ์˜ ๊ฒฝ์šฐ ์œ„ ์•„๋ž˜๊ฐ€ ์ƒ์‡„๋œ๋‹ค.
  • Inline-block ์š”์†Œ

  • block ์š”์†Œ๊ฐ€ ์ˆ˜์ง์œผ๋กœ๋งŒ ์Œ“์ด๋Š” ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ณ ์ž ๋‚˜์˜จ ๊ฐœ๋…์ด๋‹ค.
  • ๋‘˜์˜ ํŠน์„ฑ์„ ํ•ฉ์นœ ๊ฒƒ์ด๋ผ inline-block์ด๋‹ค.
  • Inline-block ์š”์†Œ๋กœ ์ง€์ •ํ•˜๊ณ  ์‹ถ์œผ๋ฉด css์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ง€์ •ํ•˜๋ฉด ๋œ๋‹ค.
  • span {
    display: inline-block;
    }
  • margin์—์„œ ์„ธ๋กœ ์ƒ์‡„๊ฐ€ ์—†๋‹ค.
  • ๊ฐ€๋กœ ๊ณต๊ฐ„์„ ๊ณต์œ ํ•œ๋‹ค.
  • width, height๋„ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • [์š”์•ฝ] ํ‘œ

  • ์ด์— ๋”ฐ๋ผ ์•„๋ž˜์ฒ˜๋Ÿผ span์— ์„ธ๋กœ padding์„ ์ฃผ๋ฉด ๋ฐฐ๊ฒฝ์ƒ‰๋งŒ ์ ์šฉ๋œ๋‹ค.
  • ๋˜ํ•œ divํƒœ๊ทธ 2๊ฐœ์— ์ฒซ๋ฒˆ์งธ div์— margin-bottom์„ 20px, ๋‘๋ฒˆ์งธ div์— margin-top์„ 50px ์ฃผ๊ฒŒ ๋˜๋ฉด ์„œ๋กœ ์ƒ์‡„๋˜์–ด ํฐ ์ชฝ์ธ 50px๋งŒ ๋‚จ๊ฒŒ๋œ๋‹ค.
  • ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” inline-block์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.
  • ๐Ÿ“ย Width์™€ Height

  • ์š”์†Œ์˜ ๊ฐ€๋กœ/์„ธ๋กœ ๋„ˆ๋น„๋ฅผ ์ •์˜ํ•˜๋Š” ์†์„ฑ์ด๋‹ค.
  • auto ๊ฐ’์„ ์ฃผ๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋„ˆ๋น„๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.
  • CSS ํฌ๊ธฐ ๋‹จ์œ„

  • ํ”ฝ์…€์€ ์ ˆ๋Œ€์ ์ธ ๊ณ ์ •๋œ ๊ฐ’์ด๋‹ค.
  • vw, vh๋Š” viewport width, viewport height์˜ ์•ฝ์ž์ด๋ฉฐ ๋ทฐํฌํŠธ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ณ€ํ™”ํ•œ๋‹ค๋Š” ์ ์—์„œ ๋ฐ˜์‘ํ˜• ์›น์„ ๋งŒ๋“œ๋Š” ๋ฐ์— ์‚ฌ์šฉ๋œ๋‹ค.
  • em์ด๋‚˜ rem์€ ๋ณดํ†ต font-size์—์„œ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์–ด๋– ํ•œ ๊ฐ’์„ ๊ณ„์‚ฐํ•˜์—ฌ ์ ์šฉํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ Calc()๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • line-height

  • line-height๋Š” ์˜์—ญ ์š”์†Œ ๋‚ด๋ถ€์—์„œ ๊ธ€์ž ํ•œ ์ค„์ด ๊ฐ€์ง€๋Š” ๋†’์ด์ด๋‹ค.
  • max, min

  • max(min)-width, max(min)-height
  • โ–ซ๏ธย Margin

  • ์š”์†Œ์˜ ์™ธ๋ถ€ ์—ฌ๋ฐฑ(๊ณต๊ฐ„)์„ ์ง€์ •ํ•˜๋Š” ๋‹จ์ถ• ์†์„ฑ
  • auto ๊ฐ’์„ ๋„ฃ์œผ๋ฉด ๊ฐ€์šด๋ฐ ์ •๋ ฌ์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์Œ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์•„๋ž˜์™€ ๊ฐ™์ด ์ƒ, ์šฐ, ํ•˜, ์ขŒ ์˜ ์ˆœ์„œ๋กœ 4๊ฐ€์ง€๋ฅผ ํ•œ๋ฒˆ์— ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฐœ๋ณ„์ ์œผ๋กœ margin-top, margin-bottom, margin-left, margin-right๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๐Ÿ”ฒย Padding

  • ์š”์†Œ์˜ ๋‚ด๋ถ€ ์—ฌ๋ฐฑ์„ ์ง€์ •ํ•˜๋Š” ๋‹จ์ถ• ์†์„ฑ
  • ์š”์†Œ์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง€๊ฒŒ ๋œ๋‹ค.
  • ๋งˆ์ง„๊ณผ ๊ฐ™์ด ๋‹ค์Œ์ฒ˜๋Ÿผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋งˆ์ง„๊ณผ ๊ฐ™์ด top, bottom, left, right๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ใ€ฐย Border

  • ์š”์†Œ์˜ ํ…Œ๋‘๋ฆฌ ์„ ์„ ์ง€์ •ํ•˜๋Š” ๋‹จ์ถ• ์†์„ฑ
  • border: ์„ -๋‘๊ป˜ ์„ -์ข…๋ฅ˜ ์„ -์ƒ‰์ƒ;
  • div {
    border: 1px solid black;
    }

    border-width

  • ํ…Œ๋‘๋ฆฌ ์„ ์˜ ๋‘๊ป˜
  • ๋งˆ์ง„, ํŒจ๋”ฉ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ง€์ • ๊ฐ€๋Šฅ
  • border-width: top right bottom left
  • border-style

  • ํ…Œ๋‘๋ฆฌ ์„ ์˜ ์Šคํƒ€์ผ
  • ๋งˆ์ง„, ํŒจ๋”ฉ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ง€์ • ๊ฐ€๋Šฅ
  • ์†์„ฑ๊ฐ’์—๋Š” solid, dashed, dotted, double, groove, ridge, inset, outset ๋“ฑ ์ ์šฉ ๊ฐ€๋Šฅ
  • border-color

  • ํ…Œ๋‘๋ฆฌ ์„ ์˜ ์ƒ‰์ƒ
  • ๋งˆ์ง„, ํŒจ๋”ฉ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ง€์ • ๊ฐ€๋Šฅ
  • ์†์„ฑ๊ฐ’์—๋Š” ์ƒ‰์ƒ ์ž…๋ ฅ ๊ฐ€๋Šฅ
  • ํˆฌ๋ช…์€ transparent
  • border-๋ฐฉํ–ฅ-์†์„ฑ

  • border-top-width, border-bottom-style ๋“ฑ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • border-radius

  • ์š”์†Œ์˜ ๋ชจ์„œ๋ฆฌ๋ฅผ ๋‘ฅ๊ธ€๊ฒŒ ๊นŽ์Œ
  • px, em, vw ๋“ฑ์˜ ๋‹จ์œ„๋กœ ์ง€์ •
  • %๋กœ๋„ ์ง€์ • ๊ฐ€๋Šฅ (50%๊ฐ€ ์›)
  • 10px์„ ์ž…๋ ฅํ•˜๋ฉด ๋ฐ˜์ง€๋ฆ„์ด 10px์ธ ์›์œผ๋กœ ๊นŽ๊ฒŒ ๋œ๋‹ค.
  • ์‹ค์Šต ๊ฒฐ๊ณผ๋ฌผ
    ์‹ค์Šต ๊ฒฐ๊ณผ๋ฌผ

    ๐Ÿ—ƒย Box-sizing

  • ์š”์†Œ์˜ ํฌ๊ธฐ ๊ณ„์‚ฐ ๊ธฐ์ค€์„ ์ง€์ •ํ•œ๋‹ค.
  • div { box-sizing: border-box; }
  • content-box๋กœ ์ง€์ •ํ•˜๋ฉด ์š”์†Œ์˜ ๋‚ด์šฉ์œผ๋กœ ํฌ๊ธฐ๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค. (๊ธฐ๋ณธ๊ฐ’)
  • border-box๋กœ ์ง€์ •ํ•˜๋ฉด ์š”์†Œ์˜ ๋‚ด์šฉ+padding+border๋กœ ํฌ๊ธฐ๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.
  • ๐ŸŒŠย Overflow

  • ์š”์†Œ์˜ ํฌ๊ธฐ ์ด์ƒ์œผ๋กœ ๋‚ด์šฉ์ด ๋„˜์ณค์„ ๋•Œ, ๋ณด์—ฌ์ง์„ ์ œ์–ดํ•˜๋Š” ๋‹จ์ถ• ์†์„ฑ. ๋ถ€๋ชจ์š”์†Œ์—์„œ ์„ค์ •ํ•ด์คŒ.
  • ๋‚ด์šฉ์ด ๋„˜์นœ ๊ฒฝ์šฐ
  • ๋‚ด์šฉ์ด ๋„˜์น˜์ง€ ์•Š์€ ๊ฒฝ์šฐ
  • overflow-x, overlow-y ๋กœ ์ถ• ๋ณ„๋กœ ์ง€์ • ๊ฐ€๋Šฅ
  • ๐Ÿ–ฅย Display

  • ์š”์†Œ์˜ ํ™”๋ฉด ์ถœ๋ ฅ์ด ์–ด๋–ป๊ฒŒ ๋ณด์—ฌ์ง€๋Š”์ง€ ๊ฒฐ์ •ํ•˜๋Š” ํŠน์„ฑ
  • div {
    display: none;
    }

    ๐Ÿซฅ Opacity, Visibility

    Opacity

  • opacity ์†์„ฑ์˜ ๊ฐ’์ด 1์ด๋ฉด ์™„์ „ํžˆ ๋ถˆํˆฌ๋ช…ํ•˜๊ณ  0์ด๋ฉด ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค. ์ด ๊ฐ’์„ ํ†ตํ•ด ์ƒ‰์ƒ์„ ์กฐ์ ˆํ•  ์ˆ˜๋„ ์žˆ๋‹ค. (์ด๋ฅผ ์ƒ‰์„ ์ชผ๊ฐ ๋‹ค๊ณ  ํ•œ๋‹ค)
  • Visibility

  • visibility ์†์„ฑ์ด hidden์ด๋ฉด ์š”์†Œ๊ฐ€ ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค.
  • ์š”์†Œ๋ฅผ ์ˆจ๊ธฐ๋Š” 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•

  • opacity: 0
  • visibility: hidden
  • display: none
  • ๐Ÿ“„ย Font