๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์˜ค์ฆˆ์ฝ”๋”ฉ์Šค์ฟจ ํ”„๋ก ํŠธ์—”๋“œ 10๊ธฐ/๋ฒ ์ด์Šค์บ ํ”„

๋น„๊ธฐ๋„ˆ ํŠธ๋ž™ 9 - CSS ์ด๋ก  (2)

๋‚ด์šฉ ์š”์•ฝ

 

  • CSS ๋ฐ•์Šค ๋ชจ๋ธ
  1. content : ํ…์ŠคํŠธ๋‚˜ ์ด๋ฏธ์ง€๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ์‹ค์ œ ๋‚ด์šฉ ์˜์—ญ
  2. padding : ๋‚ด์šฉ๊ณผ ํ…Œ๋‘๋ฆฌ ์‚ฌ์ด ๋‚ด๋ถ€ ์—ฌ๋ฐฑ
  3. border : ํ…Œ๋‘๋ฆฌ, ์š”์†Œ์˜ ๊ฒฝ๊ณ„
  4. margin : ์š”์†Œ ์™ธ๋ถ€์˜ ์—ฌ๋ฐฑ, ๋‹ค๋ฅธ ์š”์†Œ์™€์˜ ๊ฐ„๊ฒฉ

 

<div class="container">๋ฐ•์Šค ๋ชจ๋ธ</div>
.container {
    width : 200px;
    padding : 20px;
    border : 5px solid black;
    margin : 15px;
}

 

 

  • CSS ์šฐ์„  ์ˆœ์œ„
!important(์šฐ์„  ์ ์šฉ) > style ์†์„ฑ (์ธ๋ผ์ธ ์Šคํƒ€์ผ) > id ์„ ํƒ์ž > class ์„ ํƒ์ž > ํƒœ๊ทธ ์„ ํƒ์ž

 

๋‹ค๋งŒ !important๋Š” ๊ฐ€๋…์„ฑ์ด๋‚˜ ์„ฑ๋Šฅ, ์œ ์ง€๋ณด์ˆ˜ ์ธก๋ฉด์—์„œ ์—ฌ๋Ÿฌ๋ชจ๋กœ ์ข‹์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋˜๋„๋ก ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

<p id="unique" class="inline-style highlight">CSS ์šฐ์„ ์ˆœ์œ„</p>
p {
  color: blue; /* ํƒœ๊ทธ ์„ ํƒ์ž */
}

.highlight {
  color: red; /* ํด๋ž˜์Šค ์„ ํƒ์ž */
}

#unique {
  color: green; /* ID ์„ ํƒ์ž */
}

p.inline-style {
  color: yellow !important; /* !important */
}

์œ„์˜ css ์ฝ”๋“œ๋ฅผ ์ „๋ถ€ ๋‹ค ์ž‘์„ฑํ–ˆ์„ ๋•Œ / !important ๋ถ€๋ถ„์„ ์‚ญ์ œํ–ˆ์„ ๋•Œ / #unique ๋ถ€๋ถ„๋„ ์‚ญ์ œํ–ˆ์„ ๋•Œ

 

  • css ๋‹จ์œ„

๊ณ ์ • ๋‹จ์œ„

- px (ํ”ฝ์…€) - ํ™”๋ฉด์˜ ๊ณ ์ •๋œ ํฌ๊ธฐ, ๋””๋ฐ”์ด์Šค ํ™”๋ฉด ํฌ๊ธฐ์— ๊ด€๊ณ„์—†์ด ์ผ์ •ํ•˜๊ฒŒ ์œ ์ง€

 

์ƒ๋Œ€ ๋‹จ์œ„ 

  1. em, rem : ๊ธ€๊ผด ํฌ๊ธฐ์— ์ƒ๋Œ€์ ์ธ ๋‹จ์œ„
    • em : ๋ถ€๋ชจ ์š”์†Œ์˜ ๊ธ€๊ผด ํฌ๊ธฐ์— ๋น„๋ก€ํ•จ (1em : ๋ถ€๋ชจ ๊ธ€๊ผด ํฌ๊ธฐ)
    • rem : ๋ฃจํŠธ ์š”์†Œ(html)์˜ ๊ธ€๊ผด ํฌ๊ธฐ์— ๋น„๋ก€ํ•จ
  2. % : ๋ถ€๋ชจ ์š”์†Œ ํฌ๊ธฐ์— ์ƒ๋Œ€์ ์ธ ๋ฐฑ๋ถ„์œจ
  3. vw, vh : ๊ฐ๊ฐ ๋ทฐํฌํŠธ(ํ™”๋ฉด) ๋„ˆ๋น„, ๋†’์ด์— ๋น„๋ก€ํ•˜๋Š” ๋‹จ์œ„

 

 

์‹ค์Šต ๊ณผ์ œ

 

  <style>
    /* 1. ๋ฐ•์Šค ํŒจ๋”ฉ, ํ…Œ๋‘๋ฆฌ, ๋งˆ์ง„ ์„ค์ • */
    .box {
        padding : 10px;
        border : 3px solid blue;
        margin : 20px;
    }

    /* 2. ์ œ๋ชฉ์˜ ๊ธฐ๋ณธ ์ƒ‰์ƒ์€ ๋…น์ƒ‰ */
    h1 {
      color : green;
    }

    /* 3. ์ œ๋ชฉ์— ํด๋ž˜์Šค .highlight๊ฐ€ ์žˆ์„ ๋•Œ๋Š” ๋นจ๊ฐ„์ƒ‰ */
    .highlight {
      color : red;
    }

    /* 4. id๊ฐ€ special์ธ ๊ฒฝ์šฐ ๋…ธ๋ž€์ƒ‰ */
    #special {
      color : yellow;
    }

    /* 5. ๋‹จ์œ„๋ฅผ ์ ์ ˆํžˆ ์‚ฌ์šฉํ•ด ํฌ๊ธฐ ๋ฐ ๊ธ€์ž ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•˜์„ธ์š” */
    .content {
      width: 50%; /* 50%๋กœ ๋ฐ•์Šค ํฌ๊ธฐ๋ฅผ ์„ค์ • */
      font-size: 1.2em; /* ๊ธ€์ž ํฌ๊ธฐ ์„ค์ • */
    }
  </style>
</head>
<body>
  <h1 class="highlight">๋ฐ•์Šค ๋ชจ๋ธ ์‹ค์Šต</h1>
  <h1 id="special">์šฐ์„ ์ˆœ์œ„ ์‹ค์Šต</h1>

  <div class="box content">
    ์ด๊ณณ์€ ๋ฐ•์Šค ๋ชจ๋ธ์ด ์ ์šฉ๋œ ์ฝ˜ํ…์ธ ์ž…๋‹ˆ๋‹ค.
  </div>

width : 50%
width : 100% / width : 20%

 

width : 100%์ผ ๋•Œ๋Š” ๋ฐ•์Šค ํฌ๊ธฐ๋กœ๋งŒ ๋”ฐ์ง€๋ฉด ๋ธŒ๋ผ์šฐ์ €์˜ ๋„ˆ๋น„์˜ 100%์ด์ง€๋งŒ, ๊ฐ€๋กœ ์Šคํฌ๋กค์ด ์ƒ๊ธฐ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

์ด๋Š” ๋ฐ•์Šค ๋ชจ๋ธ์— padding๊ฐ’๊ณผ margin ๊ฐ’์ด ์ ์šฉ๋˜์–ด์„œ์ธ๋ฐ box-sizing ์†์„ฑ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

box-sizing :  ์š”์†Œ์˜ ๋„ˆ๋น„์™€ ๋†’์ด๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•˜๋Š” ์†์„ฑ

box-sizing์˜ ๊ฐ’

- content-box(์ดˆ๊ธฐ๊ฐ’) : weight, height ์†์„ฑ์ด ์ฝ˜ํ…์ธ  ์˜์—ญ๋งŒ ๊ณ„์‚ฐ(padding๊ณผ border ์ œ์™ธ)

- border-box : weight, height๋ฟ๋งŒ์ด ์•„๋‹Œ padding, border ๊ฐ’๋„ ์š”์†Œ์˜ ํฌ๊ธฐ๋กœ ๊ณ„์‚ฐํ•จ.

 

    <style>
      .box {
        padding: 10px;
        border: 3px solid blue;
        margin: 20px;
      }
      .content {
        width: 100%;
        font-size: 1.2em;
      }
      .cont-box {
        box-sizing: content-box;
      }
      .bord-box {
        box-sizing: border-box;
      }
    </style>
  <div class="box content cont-box">
    content-box
  </div>
  <div class="box content bord-box">
    border-box
  </div>

 

ํ™•์‹คํžˆ ์ฐจ์ด๊ฐ€ ๋‚˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค..

 

๊ทธ๋ž˜๋„ ๊ฐ€๋กœ ์Šคํฌ๋กค์ด ์—ฌ์ „ํžˆ ๋‚จ์•„์žˆ๋Š”๋ฐ, ์ด๋Š” border-box๊ฐ’๋„ margin ๊ฐ’์€ ์ œ์™ธํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

.box ์— ์ง€์ •ํ–ˆ๋˜ margin ๊ฐ’์„ ์—†์• ์ฃผ๋ฉด

 

 

border-box๋Š” ๊ฐ€๋กœ ์Šคํฌ๋กค์„ ๋„˜๊ธฐ์ง€ ์•Š์•„๋„ ํŽ˜์ด์ง€์— ๋”ฑ ๋งž๊ฒŒ ํ‘œ์‹œ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

(๊ฐ€๋กœ ์Šคํฌ๋กค์„ ์—†์• ๊ณ  ์‹ถ๋‹ค๋ฉด ๋‘๋ฒˆ์งธ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด content-box๋ฅผ border-box๋กœ ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.)