[HTML/CSS] Day9. Block Level vs Inline ๐Ÿงฑ

  • ์—…๋ฐ์ดํŠธ ๋ฐ ์ˆ˜์ •
    4/6 Block level Elements์™€ inline Elements์˜ ์ฐจ์ด์ , ๋ฐ•์Šค ์œ ํ˜•์˜ ๋ช…์นญ ์—…๋ฐ์ดํŠธ

HTMLํ•˜๋ฉด ๋น ์งˆ ์ˆ˜ ์—†๋Š” Block level Elements, Inline Elements๊ฐ€ ๋“œ๋””์–ด ๋‚˜์™”๋‹ค.

์•„๋งˆ ์ด ๋ถ€๋ถ„์„ ํ•˜๊ณ  CSS๋กœ ๋„˜์–ด๊ฐ€์•ผ ๋” ์ดํ•ด๊ฐ€ ์ž˜๋œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.
์ด๊ฒƒ์„ ๋ชจ๋ฅธ ์ฑ„๋กœ CSS๋ฅผ ์ ์šฉํ•ด๋ณด๋ฉด ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๋Œ€๋กœ ์™œ ์•ˆ๋˜๋Š”์ง€ ์ด์œ ๋„ ๋ชจ๋ฅด๊ณ  ํ˜ผ๋ž€์— ๋น ์ง€๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

๋‚˜๋Š” ์ด ๋ถ€๋ถ„์„ ์–ด๋Š์ •๋„๋Š” ์•Œ์ง€๋งŒ ๋‹ค์‹œ ์ƒˆ๋กœ์šด ๋‚˜๋งŒ์˜ "์‚ฌ์ดํด"์„ ๋Œ๋ฆฌ๊ธฐ ์œ„ํ•ด ๋‹ค์‹œ ํ•œ๋ฒˆ ๋ณต์Šต ์ฐจ์›์—์„œ ์ •๋ฆฌ๋ฅผ ํ•˜๊ฒ ๋‹ค! ๐Ÿ”ฅ




HTML์€ "Block level"๊ณผ "Inline"์œผ๋กœ ๋‚˜๋‰œ๋‹ค!

Block level Elements์™€ Inline Elements๋Š” ์™ธ๋ถ€์˜ ๋‹ค๋ฅธ ํ˜•์ œ, ๋ถ€๋ชจ ๋ฐ•์Šค๋“ค๊ณผ์˜ ๋ฐฐ์น˜์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์™ธ๋ถ€ ๋””์Šคํ”Œ๋ ˆ์ด ํƒ€์ž…์ด๋‹ค.

์™ธ๋ถ€ ๋””์Šคํ”Œ๋ ˆ์ด ํƒ€์ž…์ด ์žˆ์œผ๋ฉด "๋‚ด๋ถ€ ๋””์Šคํ”Œ๋ ˆ์ด ํƒ€์ž…"๋„ ์žˆ๋‹ค. "๋‚ด๋ถ€ ๋””์Šคํ”Œ๋ ˆ์ด ํƒ€์ž…"**์€ flex์™€ grid์— ๊ด€ํ•œ ๊ฒƒ์ธ๋ฐ ์ถ”ํ›„์— ์ •๋ฆฌ๋ฅผ ํ•  ์˜ˆ์ •์ด๋‹ค.

  • Block level Elements : ๋ถ€๋ชจ ์š”์†Œ์˜ ์ „์ฒด ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜์—ฌ "๋ธ”๋ก"์„ ๋งŒ๋“œ๋Š” ์š”์†Œ์ด๋‹ค.

Block level Elements๋Š” ๋ฌด์กฐ๊ฑด ๊ฐ€๋กœ ํญ์˜ ๋„“์ด๋ฅผ ๋ชจ๋‘ ์ฐจ์ง€ํ•œ๋‹ค. ๋˜ํ•œ Block level Elements๋‚˜ Inline Elements๋ฅผ ๋‚ด๋ถ€์— ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Inline Elements : ์ฝ˜ํ…์ธ ์˜ ํ๋ฆ„์„ ๋Š์ง€ ์•Š๊ณ , ์š”์†Œ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํƒœ๊ทธ์— ํ• ๋‹น๋œ ๊ณต๊ฐ„๋งŒ ์ฐจ์ง€ํ•˜๋Š” ์š”์†Œ์ด๋‹ค.

Inline Elements์€ ์ฝ˜ํ…์ธ  ์ž์‹ ์˜ ํฌ๊ธฐ๋งŒํผ๋งŒ ์˜์—ญ์„ ์ฐจ์ง€ํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์˜์—ญ์„ margin์œผ๋กœ ์ฑ„์šด๋‹ค. ๊ทธ๋ฆฌ๊ณ  Inline Elements์€ Inline Elements๋งŒ ์ค‘์ฒฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

  <style>
    h1{
      background-color: blueviolet;
    }

    span{
      background-color: tomato;
    }
  </style>

<body>
  <h1>HELLO WORLD! THIS IS BLOCK LEVEL!</h1> <!-- ๋ธ”๋ก ๋ ˆ๋ฒจ ์š”์†Œ -->
  <span>HELLO WORLD! THIS IS INLINE!</span> <!-- ์ธ๋ผ์ธ ์š”์†Œ -->
</body>

์•„๋ž˜ ์ด๋ฏธ์ง€๋ฅผ ๋ณด๋ฉด Block level Elements๋Š” ๊ธฐ๋ณธ์œผ๋กœ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ ์šฉ๋œ ์Šคํƒ€์ผ์ธ margin์„ ์ œ์™ธํ•œ ํ•œ ์ค„์˜ ๋‚˜๋จธ์ง€ ๋„“์ด๋ฅผ ๋‹ค ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๊ณ , Inline Elements๋Š” ์ž์‹ ์˜ ์ฝ˜ํ…์ธ  ๊ธธ์ด๋งŒํผ์˜ ๋„ˆ๋น„๋งŒ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

Block level Elements์™€ Inline Elements์˜ ์ฐจ์ด

1. ํฌ๊ธฐ ๊ด€๋ จ ์†์„ฑ ์ ์šฉ์˜ ๊ฐ€๋Šฅ ์œ ๋ฌด ๐Ÿ“

๋˜ ์ค‘์š”ํ•œ ์ ์€ width & height / margin & padding ๋“ฑ ํฌ๊ธฐ(border๋Š” ๋ชจ๋‘ ๋‹ค ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€์˜ box-model ์†์„ฑ์ด๋ผ๊ณ  ํ•˜๋Š”๊ฒŒ ๋งž๋Š” ๊ฒƒ ๊ฐ™๋‹ค.)์™€ ๊ด€๋ จ๋œ ์ด ์ ์šฉ์ด ๋˜๋Š”์ง€์˜ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

Block level Elements๋Š” ์œ„์˜ ์†์„ฑ๋“ค์ด ์ ์šฉ์ด ์ž˜ ๋œ๋‹ค. ์•„๋ž˜๋ฅผ ๋ณด๋ฉด ๋ชจ๋“  ์†์„ฑ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ ์šฉ๋œ ํ™”๋ฉด์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜๋ฉด์— ๊ฐ™์€ ์†์„ฑ์„ ์ ์šฉ์‹œํ‚จ Inline Elements๋Š” ์–ด๋–จ๊นŒ?

๋ฐ”๋กœ ์•„๋ž˜์˜ ์ฒซ๋ฒˆ์งธ ์ด๋ฏธ์ง€๋ฅผ ๋ณด๋ฉด ์œ„์˜ Block level Elements์™€ ๋˜‘๊ฐ™์ด ์ ์šฉ์ด ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‘๋ฒˆ์งธ ์ด๋ฏธ์ง€๋ฅผ ๋ณด๋ฉด ๋‹ค๋ฅธ ๊ฒƒ์ด ๋ณด์ผ ๊ฒƒ์ด๋‹ค.

๋ชจ๋“  ๋ฐฉํ–ฅ์˜ padding๊ณผ ์–‘ ์˜†์˜ margin-left, margin-right๋ฅผ ๋ณด๋ฉด ์ ์šฉ์ด ๋˜์—ˆ์ง€๋งŒ margin-top, margin-bottom์ด ์ ์šฉ์ด ๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ, width,height ๋˜ํ•œ ์ ์šฉ๋˜์ง€ ์•Š์•˜๋‹ค.

2. ๋‚˜์—ด์˜ ๋ฐฉํ–ฅ์€ ์–ด๋–ป๊ฒŒ ๋˜๋Š”๊ฐ€? ๐Ÿงญ

์œ„์˜ CSS ์ ์šฉ์„ ๊ทธ๋Œ€๋กœ ํ•˜๊ณ  ๊ฐ๊ฐ์˜ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ๋” ๋งŒ๋“ค์–ด ๋‚˜์—ด์ด ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€ ์‚ดํŽด๋ณด์•˜๋‹ค.

<body>
  <h1>HELLO WORLD! THIS IS BLOCK LEVEL!</h1>
  <h1>HELLO WORLD! THIS IS BLOCK LEVEL!</h1>
  <span>HELLO WORLD! THIS IS INLINE!</span>
  <span>HELLO WORLD! THIS IS INLINE!</span>
</body>

์•„๋ž˜์˜ ์ด๋ฏธ์ง€๋ฅผ ๋ณด๋ฉด Block level Elements๋Š” ๋‘ ์ค„์— ๊ฑธ์ณ ์ •๋ ฌ์ด ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
์™œ๋ƒํ•˜๋ฉด Block level Elements๋Š” ํ˜„์žฌ width:300px์ด ์ ์šฉ๋˜์—ˆ์ง€๋งŒ "ํ•œ ์ค„์„ ์™„์ „ํžˆ ์ฐจ์ง€ํ• ๊บผ๊ณ  ๊ทธ์ค‘ 300px๋งŒ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค."๋ผ๋Š” "์‚ฌ์šฉ ๊ฐ€๋Šฅ ์˜์—ญ"์ด ์žˆ์–ด ๋‹ค๋ฅธ ์š”์†Œ๊ฐ€ ์ด์–ด์„œ ๋‚˜์—ด๋˜์ง€ ๋ชปํ•œ๋‹ค.

๋ฐ˜๋ฉด์— Inline Elements๋Š” ์ž์‹ ์˜ ์ฝ˜ํ…์ธ ๋งŒํผ์˜ ํฌ๊ธฐ๋งŒ์„ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— ์–‘์ชฝ์œผ๋กœ ๋‚˜์—ด๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

4/6์ผ ์ถ”๊ฐ€ ๋‚ด์šฉ : ์ฃผ๋ณ€ ์š”์†Œ๋ฅผ ๋ฐ€์–ด๋‚ด๋Š”๊ฐ€? ์•ˆ๋ฐ€์–ด๋‚ด๋Š”๊ฐ€?

์œ„์—์„œ ๋งํ–ˆ๋“ฏ์ด Block level Elements๋Š” ํ•œ ์ค„์˜ ์ „์ฒด์˜์—ญ์œผ๋กœ ์ฐจ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ์ค„ ๋‹น ํ•˜๋‚˜์˜ Block level Elements๋งŒ ๋‚˜์—ด์ด ๋˜๋ฉฐ Inline Elements๋Š” ์ž์‹ ์˜ ์ฝ˜ํ…์ธ ์˜ ์˜์—ญ๋งŒํผ์˜ ํฌ๊ธฐ๋งŒ ์ฐจ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ์†์ ์œผ๋กœ Inline Elements์„ ์˜†์œผ๋กœ ๋‚˜์—ดํ•˜๊ฒŒ ๋œ๋‹ค.

์ด๋Ÿฐ ์„ฑ๊ฒฉ์œผ๋กœ ์ธํ•ด Block level Elements์™€ inline Elements๊ฐ€ ์ธ์ ‘ํ•œ ์ƒํ™ฉ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ์•„๋ž˜์˜ ์Šคํƒ€์ผ์„ ์ ์šฉํ–ˆ์„ ๋•Œ ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋ ๊นŒ?

 h1 {
        width: 300px;
        height: 100px;
        padding: 30px 30px 30px 30px;
        border: 3px solid black;
        margin: 50px 50px 50px 50px;
	}
    
strong {
        border: 10px solid black;
        padding: 100px;
	}
	<h1>์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„!!</h1>
    <h1>์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„!!</h1>
    <strong>์—ฌ๋Ÿฌ๋ถ„์€ ๊ฐ•ํ•ฉ๋‹ˆ๋‹ค!!</strong>
    <strong>๋งŒ๋‚˜์„œ ๋ฐ˜๊ฐ€์›Œ์š”!!</strong>
    <strong>๋ฐฐ๊ณ ํŒŒ์š” ใ… ใ… </strong>

์•„๋ž˜์˜ inline Elements์ธ <span>์˜ ์ ์šฉ๋œ padding๊ณผ border๋กœ ์ธํ•ด Block level Elements์˜ ์˜์—ญ์œผ๋กœ ์นจ๋ฒ”ํ•˜๊ฒŒ ๋œ๋‹ค.

์ด๊ฒƒ์€ Block level Elements๊ฐ€ ์˜์—ญ์˜ ์ „์ฒด๋ฅผ ์ฐจ์ง€ํ•˜๊ณ  ๋‹ค๋ฅธ ์š”์†Œ๋ฅผ "๋ฐ€์–ด๋‚ธ๋‹ค๋Š” ๊ฒƒ"์„ ๋ช…์‹ฌํ•ด์•ผํ•˜๋ฉฐ, inline Elements๋Š” "๋ฐ€์–ด๋‚ด์ง€ ์•Š๋Š”๋‹ค"๋Š” ๊ฒƒ์— ์ดˆ์ ์„ ๋‘์–ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค.




๊ฐ€๋กœ๋กœ ๋‚˜์—ดํ•˜๊ณ  ํฌ๊ธฐ๊นŒ์ง€ ์กฐ์ ˆํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด?

Block level Elements๋Š” ํ•œ ์ค„์˜ ์˜์—ญ์„ ์ฐจ์ง€ํ•ด์„œ ๋ฐ”๋กœ ์˜†์— ์ด์–ด์„œ ๋‚˜์—ดํ•˜์ง€ ๋ชปํ•˜์ง€๋งŒ ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜๋ฉด์— Inline Elements๋Š” ์ปจํ…์ธ ์˜ ์˜์—ญ๋งŒ ์ฐจ์ง€ํ•ด์„œ ๋ฐ”๋กœ ์˜†์— ๋‚˜์—ด์ด ๋˜์ง€๋งŒ ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•˜์ง€ ๋ชปํ•œ๋‹ค.

๊ทผ๋ฐ ๋งŒ์•ฝ ์ด์–ด์„œ ๋‚˜์—ด์ด ๋˜๊ณ  ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•˜๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๋ฉด?

display ์†์„ฑ์„ ์‚ฌ์šฉํ•ด inline-block์œผ๋กœ ์ ์šฉ์‹œํ‚ค๋ฉด ๊ฐ€๋Šฅํ•˜๋‹ค.

inline-block ๋˜ํ•œ "๋‚ด๋ถ€ ๋””์Šคํ”Œ๋ ˆ์ด ํƒ€์ž…"์— ์†ํ•œ๋‹ค.


<span>์—๊ฒŒ display:inline-block ์†์„ฑ์„ ์ ์šฉํ•ด๋ณด์ž.

์ ์šฉ์„ ํ•˜๋ฉด ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ชจ๋“  ์†์„ฑ์ด ์ž˜ ์ ์šฉ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๊ณ  ๋‚˜์—ด ๋˜ํ•œ ๊ทธ๋Œ€๋กœ ์ธ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.


์ด๋ฒˆ์—” <h1>์—๊ฒŒ display:inline-block ์†์„ฑ์„ ์ ์šฉํ•ด๋ณด์ž.

์ ์šฉ์‹œ์ผœ๋ณด๋ฉด inline-block์ด ๋˜์–ด ๋‚˜๋ž€ํžˆ ์ •๋ ฌ์ด ๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๊ณ  ํฌ๊ธฐ ๋˜ํ•œ ๊ทธ๋Œ€๋กœ ์ธ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์•„๋ž˜์˜ CSS ์ ์šฉ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณด๊ฒŒ ๋˜๋ฉด ์•„๋ž˜์˜ "์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ ์Šคํƒ€์ผ์‹œํŠธ"์˜ display:block์ด ์ทจ์†Œ์„ ์ด ๊ทธ์–ด์ง€๊ณ  ์œ„์˜ display:inline-block๊ฐ€ ์ ์šฉ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.




์ •๋ฆฌ๋ฅผ ๋งˆ์น˜๋ฉฐ! โ›ณ๏ธ

HTML์˜ ํ•œ ๋ฐ”ํ€ด ์‚ฌ์ดํด์ด ๋๋‚ฌ๋‹ค. Block level Elements Inline Elements inline-block๋ฅผ ๋ฐฐ์› ์œผ๋‹ˆ ์ด์ œ CSS์˜ ์‚ฌ์ดํด๋กœ ๊ฐ€์„œ ๋ฉ‹์ง€๊ฒŒ ๋””์ž์ธํ•  ์ผ๋งŒ ๋‚จ์•˜๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ฐ•์‚ฌ๋‹˜๊ป˜์„œ๋„ HTML์„ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์€ ์žฌ๋ฏธ๊ฐ€ ๋œํ•˜์ง€๋งŒ CSS๋Š” ์ •๋ง ์žฌ๋ฐŒ๋‹ค๊ณ  ํ•˜์…จ๋‹ค.

CSS์˜ ์‚ฌ์ดํด์ด ์–ผ๋งˆ๋‚˜ ์„ฑ๊ณต์ ์œผ๋กœ ๋Œ์•„๊ฐˆ์ง€ ๊ธฐ๋Œ€๊ฐ€ ๋˜๋ฉด์„œ๋„ ๋’ท ๋ถ€๋ถ„์˜ javascript๊ฐ€ ๊ฑฑ์ •์ด ๋œ๋‹ค.. ใ…Žใ…Ž

์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ