[HTML/CSS] ๐Ÿ“š ๋ฐ•์Šค ๋ชจ๋ธ

pyeonneยท2022๋…„ 6์›” 10์ผ
0
post-thumbnail

๐Ÿ“‹ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ

๐Ÿ“Œ ๋ฐ•์Šค ๋ชจ๋ธ์ด๋ž€

  • content: ์ฝ˜ํ…์ธ ๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ์˜์—ญ
  • padding: ์ฝ˜ํ…์ธ ์™€ ํ…Œ๋‘๋ฆฌ(border) ์‚ฌ์ด์˜ ์—ฌ๋ฐฑ
  • border: padding๊ณผ margin ์‚ฌ์ด์˜ ํ…Œ๋‘๋ฆฌ
  • margin: ๊ฐ€์žฅ ๋ฐ”๊นฅ์ชฝ ๋ ˆ์ด์–ด๋กœ ์ฝ˜ํ…์ธ ์™€ ํŒจ๋”ฉ, ํ…Œ๋‘๋ฆฌ๋ฅผ ๋‘˜๋Ÿฌ์‹ธ๋ฉด์„œ ํ•ด๋‹น ๋ฐ•์Šค์™€ ๋‹ค๋ฅธ ์š”์†Œ ์‚ฌ์ด์˜ ๊ณต๋ฐฑ์„ ์ฃผ๋Š” ์—ญํ• 

๐Ÿ“Œ ํฌ๊ธฐ

width, height

  • width, height ์†์„ฑ์€ ์ž์‹ ์š”์†Œ์—๊ฒŒ ์ƒ์†๋˜์ง€ ์•Š๋Š”๋‹ค.
  • auto ๊ฐ’์€ 100% ๊ฐ’๊ณผ ๋™์ผํ•˜๋‹ค.
  • ๋ธ”๋ก ์š”์†Œ๋Š” width, height ์†์„ฑ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ธ๋ผ์ธ ์š”์†Œ๋Š” ์ง€์ •ํ•  ์ˆ˜ ์—†๋‹ค.

max-width, min-width, max-height, min-height

#parent {
	width: 300px;
    height: 300px;
}

#child {
	width: 50%;
    min-width: 100px;
    height: 100px;
}
  • ํŠน์ • ํฌ๊ธฐ๋ถ€ํ„ฐ ๋ถ€๋ชจ ์š”์†Œ์˜ ํฌ๊ธฐ์— ์˜ํ•ด ์ž์‹ ์š”์†Œ์˜ ํฌ๊ธฐ๊ฐ€ ๋”์ด์ƒ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋„๋ก ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
  • IE ํ˜ธํ™˜์„ฑ ์—ฌ๋ถ€ ๋•Œ๋ฌธ์— min(), max() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค max-width, min-width, max-height, min-height ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
  • ๋ฐ˜์‘ํ˜• ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ ์œ ์šฉํ•˜๋‹ค.

๐Ÿ“Œ margin

  • margin ์†์„ฑ์€ ์ž์‹ ์š”์†Œ์—๊ฒŒ ์ƒ์†๋˜์ง€ ์•Š๋Š”๋‹ค.
  • ๋‘ ๊ฐœ์˜ ๊ฐ’์„ ์ง€์ •ํ•˜๋ฉด ์ฒซ ๋ฒˆ์งธ๋Š” ์œ„์™€ ์•„๋ž˜, ๋‘ ๋ฒˆ์งธ๋Š” ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ ์—ฌ๋ฐฑ์„ ์„ค์ •ํ•œ๋‹ค.
  • ์„ธ ๊ฐœ์˜ ๊ฐ’์„ ์ง€์ •ํ•˜๋ฉด ์œ„, ๋‘ ๋ฒˆ์งธ๋Š” ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ, ์„ธ ๋ฒˆ์งธ๋Š” ์•„๋ž˜ ์—ฌ๋ฐฑ์„ ์„ค์ •ํ•œ๋‹ค.
  • ๋„ค ๊ฐœ์˜ ๊ฐ’์„ ์ง€์ •ํ•˜๋ฉด ๊ฐ๊ฐ ์ƒ, ์šฐ, ํ•˜ ,์ขŒ ์ˆœ์„œ๋กœ ์—ฌ๋ฐฑ์„ ์ง€์ •ํ•œ๋‹ค.
  • percentage๋Š” ๋ถ€๋ชจ์˜ width ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.

๐Ÿ“Œ margin collapsing

  • ๋งˆ์ง„ ์ƒ์‡„, ๋งˆ์ง„ ๊ฒน์นจ, ๋งˆ์ง„ ์ค‘๋ณต ๋“ฑ์œผ๋กœ ๋ถˆ๋ฆฐ๋‹ค.
  • ๋ธ”๋ก ์š”์†Œ๋“ค์˜ margin-top๊ณผ margin-bottom์ด ๊ฒน์ณค์„ ๋•Œ ๊ฐ€์žฅ ํฐ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„ margin์œผ๋กœ ํ•ฉ์ณ์ง€๋Š” ํ˜„์ƒ์ด๋‹ค.
  • ๋ฒ„๊ทธ๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, CSS ๋ช…์„ธ์— ์ ํ˜€์žˆ๋Š” ์ •์ƒ์ ์ธ ๋™์ž‘์ด๋‹ค.

์ธ์ ‘ ํ˜•์ œ ์š”์†Œ

index.html

<div class="box"></div>
<div class="box"></div>
<div class="box"></div>

main.css

.box {
	width: 50px;
    height: 50px;
    background-color: tomato;
    
    margin-top: 20px;
    margin-bottom: 20px;
}
  • ๋‘ ํ˜•์ œ ์š”์†Œ์˜ ์œ„์™€ ์•„๋ž˜ ์—ฌ๋ฐฑ์ด ๋งŒ๋‚˜ ์ƒ์‡„๋œ๋‹ค.

๋ถ€๋ชจ ์ž์‹ ์š”์†Œ

index.html

<div id="parent">
  <div id="child"></div>
</div>

main.css

#parent {
	width: 100px;
    height: 100px;
    
    margin-top: 30px;
    
    background-color: blue;
}

#child {
	width: 30px;
    height: 30px;
    
    margin-top: 40px;
    
    background-color: red;
}
  • ๋ถ€๋ชจ ์š”์†Œ์— border, padding์ด ์—†์œผ๋ฉด ๋ถ€๋ชจ ์š”์†Œ์™€ ์ž์‹ ์š”์†Œ์˜ margin-top ํ˜น์€ margin-bottom์ด ๋งŒ๋‚˜ ์ƒ์‡„๋œ๋‹ค.

๋นˆ ๋ธ”๋ก

  • border, padding, content๊ฐ€ ์—†๊ฑฐ๋‚˜ height ๊ฐ’์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด, ํ•ด๋‹น ๋ธ”๋ก์˜ margin-top๊ณผ margin-bottom์ด ์ƒ์‡„๋œ๋‹ค.
  • ๋‚ด์šฉ์ด ์—†๋Š” div์—์„œ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋“œ๋ฌธ ๊ฒฝ์šฐ๋‹ค.

๐Ÿ“Œ padding

  • margin์€ ์Œ์ˆ˜ ๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, padding์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
  • percentage๋Š” ๋ถ€๋ชจ ์š”์†Œ์˜ width ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.

๐Ÿ“Œ ํ…Œ๋‘๋ฆฌ

border-style, border-width, border-color

  • ํ…Œ๋‘๋ฆฌ ๊ตต๊ธฐ ํ‚ค์›Œ๋“œ๋Š” ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ๋‘๋ฆฌ ๋„ˆ๋น„๋ฅผ ์„ค์ •ํ•  ๋•Œ๋Š” ํ‚ค์›Œ๋“œ ๋ณด๋‹ค <length>๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
  • border-style: none์ผ ๊ฒฝ์šฐ border-width, border-color ์†์„ฑ ๊ฐ’์ด ์ง€์ •๋˜์–ด ์žˆ์–ด๋„ ๊ฐ’์ด 0์ด ๋˜๊ณ , ๋ณด์ด์ง€ ์•Š๊ฒŒ ๋œ๋‹ค.

border

  • ํ…Œ๋‘๋ฆฌ๋ฅผ ์„ค์ •ํ•  ๋•Œ๋Š” ๋ณดํ†ต border ๋‹จ์ถ• ์†์„ฑ์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • border๋Š” ๋ฐ•์Šค ๋ชจ๋ธ์— ์†ํ•ด ์žˆ์ง€๋งŒ, outline์€ ๋ฐ•์Šค ๋ชจ๋ธ์— ์†ํ•ด ์žˆ์ง€ ์•Š๋‹ค.
  • border-style์„ ์ž‘์„ฑํ•˜์ง€ ์•Š์œผ๋ฉด border-style: none์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ๋‘๋ฆฌ๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด ๊ผญ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.

border-radius

  • percentage๋Š” ์š”์†Œ์˜ ๊ฐ€๋กœ ๋„ˆ๋น„์™€ ์„ธ๋กœ ๋„ˆ๋น„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํƒ€์›ํ˜•์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

box-sizing

  • box-sizing: content-box๋Š” CSS ํ‘œ์ค€ ์ •์˜ํ•œ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ, width์™€ height ์†์„ฑ์ด ์ฝ˜ํ…์ธ  ์˜์—ญ๋งŒ ํฌํ•จํ•œ๋‹ค.
  • box-sizing: border-box๋Š” width์™€ hegiht ์†์„ฑ์ด padding๊ณผ border๋„ ํฌํ•จํ•œ๋‹ค.
  • ๋ณดํ†ต ์ „์ฒด ์„ ํƒ์ž๋ฅผ ์‚ฌ์šฉํ•ด CSS ํŒŒ์ผ์˜ ์ตœ์ƒ๋‹จ์— ์ž‘์„ฑํ•œ๋‹ค.

๐ŸŒ ์ˆ˜๊ฐ•ํ•œ ์†Œ๊ฐ & ๋– ์˜ค๋ฅด๋Š” ์ƒ๊ฐ

  • ์–ด๋–ค ์š”์†Œ์— margin ๊ฐ’์ด ์ ์šฉ๋˜์ง€ ์•Š์„ ๋•Œ ๋งˆ์ง„ ์ƒ์‡„ ํ˜„์ƒ์„ ์˜์‹ฌํ•ด๋ณด๊ณ  ์ ์šฉ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๋ฅผ ์ฐพ์•„๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๊ทธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„์ง€ ์ƒ๊ฐํ•ด๋ณด์ž!

๐Ÿ”— ์ฐธ๊ณ  ๋ž˜ํผ๋Ÿฐ์Šค

profile
๊ฑด๊ฐ•ํ•œ ๋ชธ๊ณผ ๋งˆ์Œ์—์„œ ๊ฑด๊ฐ•ํ•œ ์ฝ”๋“œ๊ฐ€ ํƒœ์–ด๋‚œ๋‹ค !

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