01.CSS ๊ธฐ์ดˆ - block-level & inline-level

ID์งฑ์žฌยท2021๋…„ 3์›” 16์ผ
0

CSS

๋ชฉ๋ก ๋ณด๊ธฐ
5/15
post-thumbnail

๐ŸŒˆ block-level & inline-level

๐Ÿ”ฅ block-level & inline-level ๋ž€?

๐Ÿ”ฅ display ์†์„ฑ

๐Ÿ”ฅ visibility ์†์„ฑ

๐Ÿ”ฅ inline-block ํŠน์ง•


1. block-level & inline-level ๋ž€?

  • ๋ชจ๋“  ํƒœ๊ทธ๋“ค์€ default ๊ฐ’์œผ๋กœ block-level ์š”์†Œ์™€ inline-level ์š”์†Œ์˜ ํŠน์„ฑ์„ ๊ฐ€์ง
  • inline-level ์š”์†Œ๋“ค์€ ๊ฐ ์š”์†Œ์˜ ์ปจํ…์ธ ๋“ค์ด ์˜†์œผ๋กœ ์—ฐ์ด์–ด ๋‚˜ํƒ€์ง€๋งŒ, block-level ์š”์†Œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ box์ฒ˜๋Ÿผ ์˜†์— ์•„๋ฌด๊ฒƒ๋„ ๋‘˜ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ๋ผ์ธ์˜ ๋„ˆ๋น„๋ฅผ ๋ชจ๋‘ ์ฐจ์ง€ํ•˜๊ฒŒ ๋จ

1) block-level์˜ ํŠน์„ฑ

  • ํ•ญ์ƒ ์ƒˆ๋กœ์šด ๋ผ์ธ์— ๋‹ค์Œ ํƒœ๊ทธ๋ฅผ ์œ„์น˜์‹œํ‚ด
  • ํ™”๋ฉด์˜ ๋„ˆ๋น„ ์ „์ฒด๋ฅผ ์ฐจ์ง€
  • width, height, margin, padding ์†์„ฑ ์„ค์ • ๊ฐ€๋Šฅ
  • block ์š”์†Œ ์•ˆ์— inline ์š”์†Œ ํฌํ•จ ๊ฐ€๋Šฅ
  • defaul๊ฐ’์œผ๋กœ block-level ํŠน์„ฑ์„ ๊ฐ€์ง„ ํƒœ๊ทธ : div / h1~h6 / p, ol, ul, li, hr, table, form ๋“ฑ

2) inline-level์˜ ํŠน์„ฑ

  • ๊ฐ™์€ ๋ผ์ธ์— ๋‹ค๋ฅธ ์š”์†Œ์™€ ์—ฐ์ด์–ด ์œ„์น˜ ๊ฐ€๋Šฅ
  • content ๋„ˆ๋น„๋งŒํผ ๊ฐ€๋กœํญ์„ ๊ฐ€์ง
  • width, height, margin, padding ๋“ฑ์˜ ์†์„ฑ ์„ค์ • ๋ถˆ๊ฐ€๋Šฅ
  • ์ƒํ•˜ ์—ฌ๋ฐฑ์€ line-height๋กœ ์ง€์ • ๊ฐ€๋Šฅ
  • inline ํŠน์„ฑ์„ ๊ฐ€์ง„ ํƒœ๊ทธ ์•ˆ์— block ํŠน์„ฑ์„ ๊ฐ€์ง„ ์š”์†Œ ํฌํ•จ ๋ถˆ๊ฐ€๋Šฅ
  • defaul๊ฐ’์œผ๋กœ inline-level ํŠน์„ฑ์„ ๊ฐ€์ง„ ํƒœ๊ทธ : span / a / strong / img / br / input / select / textarea / button ๋“ฑ

โœ๐Ÿป html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <style>
      .spantag {
        background-color: tomato;
      }
      .divtag {
        background-color: aquamarine;
      }
    </style>
  </head>
  <body>
    <h2>div ํƒœ๊ทธ ์†์— span ํƒœ๊ทธ</h2>
    <div class="spantag">
      ์ด๊ฒƒ ๋ถ€๋ถ„์€ div ํƒœ๊ทธ๋กœ ๋ฌถ์ธ ํ•œ ๋ฌธ์žฅ์ž…๋‹ˆ๋‹ค.
      <span>"์ด ๋ถ€๋ถ„์€๋งŒ span ํƒœ๊ทธ๋กœ ๊ฐ์‹ธ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค."</span> span์€ inline-block ์š”์†Œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ค„ ๋ฐ”๊ฟˆ์ด ๋˜์ง€
      ์•Š์Šต๋‹ˆ๋‹ค.
    </div>
    <h2>span ํƒœ๊ทธ ์†์— div ํƒœ๊ทธ</h2>
    <span class="divtag">
      ์ด๊ฒƒ ๋ถ€๋ถ„์€ span ํƒœ๊ทธ๋กœ ๋ฌถ์ธ ๋ฌธ์žฅ์ž…๋‹ˆ๋‹ค.
      <div>"์ด ๋ถ€๋ถ„๋งŒ divํƒœ๊ทธ๋กœ ๊ฐ์‹ธ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค."</div>
      div๋Š” block-level ์š”์†Œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ์˜์—ญ์„ ์ฐจ์ง€ํ•˜์—ฌ ์ค„๋ฐ”๊ฟˆ์ด ๋ฉ๋‹ˆ๋‹ค.
    </span>
  </body>
</html>


2. display ์†์„ฑ

  • ๐Ÿ” selector { display : block } : block ํŠน์„ฑ์„ ๊ฐ€์ง€๋Š” ์š”์†Œ๋กœ ์ง€์ •
  • ๐Ÿ” selector { display : inline } : inline ํŠน์„ฑ์„ ๊ฐ€์ง€๋Š” ์š”์†Œ๋กœ ์ง€์ •
  • ๐Ÿ” selector { display : inline-block} : inline-block ํŠน์„ฑ์„ ๊ฐ€์ง€๋Š” ์š”์†Œ๋กœ ์ง€์ •
  • ๐Ÿ” selector { display : none } : ์š”์†Œ๋ฅผ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜์ง€ ์•Š์„ ๋ฟ๋”๋Ÿฌ ์š”์†Œ๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ์˜์—ญ(๊ณต๊ฐ„)๋„ ์‚ฌ๋ผ์ง

3. visibility ์†์„ฑ

  • ๐Ÿ” selector { visibility : visible } : ํ•ด๋‹น ์š”์†Œ๋ฅผ ํ™”๋ฉด์— ํ‘œ์‹œ(default ๊ฐ’)
  • ๐Ÿ” selector { visibility : hidden } : ํ•ด๋‹น ์š”์†Œ๋ฅผ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜์ง€ ์•Š์œผ๋‚˜, ์ฐจ์ง€ํ•˜๋Š” ๊ณต๊ฐ„์€ ๋‚จ๊ฒจ๋‘ 
  • ๐Ÿ” selector { visibility : collapse} : table ์š”์†Œ์— ์‚ฌ์šฉํ•˜์—ฌ ํ–‰์ด๋ผ ์—ด์„ ๋ณด์ด์ง€ ์•Š๊ฒŒ ํ•จ

โœ๐Ÿป html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <style>
      body {
        display: flex;
      }
      div {
        width: 300px;
      }
      span {
        background-color: tomato;
      }
      strong {
        background-color: aquamarine;
      }
      .display_none {
        display: none;
      }
      .visibility_hidden {
        visibility: hidden;
      }
    </style>
  </head>
  <body>
    <div>
      <span>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nesciunt facere iusto provident corporis? Nulla, exrerum voluptatem fuga rem saepe, quis, voluptatibus nihil consequuntur tempore repellat accusantium ab? Totam,tempora.</span>
      <strong>Can you see me? Can you see me? Can you see me? Can you see me?</strong>
      <span>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nesciunt facere iusto provident corporis? Nulla, exrerum voluptatem fuga rem saepe, quis, voluptatibus nihil consequuntur tempore repellat accusantium ab? Totam,tempora.</span>
    </div>
    <div>
      <span>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nesciunt facere iusto provident corporis? Nulla, exrerum voluptatem fuga rem saepe, quis, voluptatibus nihil consequuntur tempore repellat accusantium ab? Totam,tempora.</span>
      <strong class="display_none">Can you see me? Can you see me? Can you see me? Can you see me?</strong>
      <span>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nesciunt facere iusto provident corporis? Nulla, exrerum voluptatem fuga rem saepe, quis, voluptatibus nihil consequuntur tempore repellat accusantium ab? Totam,tempora.</span>
    </div>
    <div>
      <span>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nesciunt facere iusto provident corporis? Nulla, exrerum voluptatem fuga rem saepe, quis, voluptatibus nihil consequuntur tempore repellat accusantium ab? Totam,tempora.</span>
      <strong class="visibility_hidden">Can you see me? Can you see me? Can you see me? Can you see me?</strong>
      <span>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nesciunt facere iusto provident corporis? Nulla, exrerum voluptatem fuga rem saepe, quis, voluptatibus nihil consequuntur tempore repellat accusantium ab? Totam,tempora.</span>
    </div>
  </body>
</html>


4. inline-block ํŠน์ง•

  • block-level ์š”์†Œ์— ์†์„ฑ๊ฐ’์œผ๋กœ "display:inline"์„ ์ฃผ๋ฉด inline-level ์š”์†Œ์ฒ˜๋Ÿผ ์˜†์œผ๋กœ ์š”์†Œ๋“ค์„ ์—ฐ์ด์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, ์ฝ˜ํ…์ธ  ๋‚ด์šฉ์„ ๋„ฃ์–ด์ฃผ์ง€ ์•Š์œผ๋ฉด ํ™”๋ฉด์—์„œ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Œ
  • ์ด๋Ÿด ๋•Œ, ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ "display:inline"์ด ์•„๋‹Œ "display:inline-block"๋ฅผ ์ฃผ๋ฉด inline๊ณผ block์˜ ์†์„ฑ์„ ๋ชจ๋‘ ๊ฐ€์ง€๊ฒŒ ๋จ
  • ๋‹ค๋งŒ, ์ด ๋ฐฉ์‹์œผ๋กœ block-level ์š”์†Œ๋“ค์„ ์˜†์œผ๋กœ ์ด์–ด ๋ฐฐ์น˜ํ–ˆ์„ ๋•Œ, ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์—์„œ ์ˆ˜์น˜์ƒ ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ์š”์†Œ ๊ฐ„ ์—ฌ๋ฐฑ์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์š”์†Œ๋“ค์„ ์ •๋ ฌํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜์ž‘์—…์ด ํ•„์š”
  • ๋ฟ๋งŒ์•„๋‹ˆ๋ผ, ์ด ์š”์†Œ๋“ค(block-level ์š”์†Œ)์ด ํ™”๋ฉด์— ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ •๋ ฌ๋˜๋Š” ๋ฌธ์ œ ๋ฐœ์ƒํ•˜์—ฌ ์š”์†Œ๋“ค์„ ํ†ต์ œํ•˜๊ธฐ ์–ด๋ ค์›€
  • ์ด๋Ÿฐ ๊ธฐ๋Œ€ํ•˜์ง€ ์•Š์€ ๊ฒฐ๊ณผ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜ํƒ€๋‚œ ๊ฐœ๋…์ด display:"flex" ์†์„ฑ์ž„

โœ๐Ÿป html

<!DOCTYPE html>
<html lang="en">
<head>
  <style>
    body {
      margin: 20px;
    }
    div {
      display: inline-block;
      width: 300px;
      height: 300px;
      background-color: teal;
      margin-right: 10.01;
    }
  </style>
</head>
<body>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
</body>
</html>

profile
Keep Going, Keep Coding!

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด

Powered by GraphCDN, the GraphQL CDN