CSS (2)

์ˆ˜๊ฒฝ, Sugyeongยท2021๋…„ 9์›” 14์ผ
0

HTML/CSS

๋ชฉ๋ก ๋ณด๊ธฐ
4/6
post-thumbnail

  • Display
  • Position


๐Ÿฅ Display

CSS์˜ display ํ”„๋กœํผํ‹ฐ(์†์„ฑ)๋Š” ์š”์†Œ๊ฐ€ block level ํ˜น์€ inline ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ์—ฌ๋ถ€๋ฅผ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ flow layout, grid ํ˜น์€ flex ๋“ฑ์˜ ๋ ˆ์ด์•„์›ƒ์„ ๊ฒฐ์ •ํ•˜๋Š” ์ค‘์š”ํ•œ ์†์„ฑ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์ด ์†์„ฑ์€ ํ•ด๋‹น HTML ์š”์†Œ๊ฐ€ ์›นํŽ˜์ด์ง€์— ์–ธ์ œ ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š” ๊ฐ€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. HTML ์š”์†Œ์˜ display ์†์„ฑ๊ฐ’์„ ๋ณ€๊ฒฝํ•จ์œผ๋กœ์จ ์›น ํŽ˜์ด์ง€๋ฅผ ๊ฐœ๋ฐœ์ž๊ฐ€ ์›ํ•˜๋Š” ๋ชจ์–‘์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

<div> ํƒœ๊ทธ์™€ <span> ํƒœ๊ทธ๋Š” ๋ชจ๋‘ ์›นํŽ˜์ด์ง€์˜ ์ผ๋ถ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ํƒœ๊ทธ์ด๋‹ค. ์šฐ๋ฆฌ๋Š” <div> ํƒœ๊ทธ๋ฅผ ํ™”๋ฉด ์ „์ฒด๋ฅผ ์“ฐ๋Š” block level element, <span> ํƒœ๊ทธ๋ฅผ ์ž๊ธฐ ์ž์‹ ๋งŒํผ์˜ ๋ถ€ํ”ผ๋ฅผ ๊ฐ–๋Š” inline element ๋กœ ์•Œ๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ CSS์˜ display ํ”„๋กœํผํ‹ฐ๋ฅผ ํ†ตํ•˜์—ฌ <div> ํƒœ๊ทธ์™€ <span> ํƒœ๊ทธ์˜ element๋ฅผ ๊ฐ๊ฐ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ„๋Š” display ์†์„ฑ์˜ ๊ธฐ๋ณธ ์„ค์ •๊ฐ’์„ ๋ณ€๊ฒฝํ•œ ๊ฒƒ์œผ๋กœ
<div> ํƒœ๊ทธ์˜ ํ”„๋กœํผํ‹ฐ ๊ฐ’์œผ๋กœ inline ์„ ๋„ฃ๊ณ 
<span> ํƒœ๊ทธ์˜ ํ”„๋กœํผํ‹ฐ ๊ฐ’์œผ๋กœ block ์„ ๋„ฃ์€ ๊ฒฐ๊ณผ


์œ„๋Š” <div> ํƒœ๊ทธ์˜ ํ”„๋กœํผํ‹ฐ ๊ฐ’์„ inline-block ์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ์˜ ๊ฒฐ๊ณผ


์‰ฝ๊ฒŒ ๋งํ•ด์„œ inline์€ ๋ฌผ๊ฑด, inline-block์€ ์ƒ์ž์ธ๋ฐ ํ•œ ์ค„์— ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ์ง„์—ด๋  ์ˆ˜ ์žˆ๋Š” ํŠน๋ณ„ํ•œ ์ƒ์ž, block์€ ์ƒ์ž์ธ๋ฐ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ๋“ค์–ด๊ฐ€๋Š” ์ƒ์ž๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿฅ Position

CSS์˜ display ํ”„๋กœํผํ‹ฐ(์†์„ฑ)์€ ๋ฌธ์„œ ์ƒ์— ์š”์†Œ๋ฅผ ๋ฐฐ์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•œ๋‹ค. top, right, bottom, left ์†์„ฑ์ด ์š”์†Œ๋ฅผ ๋ฐฐ์น˜ํ•  ์ตœ์ข… ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

  • position ์ •๋ฆฌ
position: static;
// ๊ธฐ๋ณธ๊ฐ’(default)
position: relative;
// ์›๋ž˜ ์•„์ดํ…œ์ด ์žˆ์–ด์•ผ ํ•˜๋Š” ์ž๋ฆฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ top, right, bottom, left์˜ ๊ฐ’์— ๋”ฐ๋ผ ์˜ฎ๊ฒจ์ง.
position: absolute;
// ์•„์ดํ…œ์ด ๋‹ด๊ฒจ ์žˆ์œผ๋ฉฐ ํ•ด๋‹น ์•„์ดํ…œ๊ณผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์ด ์žˆ๋Š” ์ƒ์ž ๊ผญ์ง“์ ์—์„œ๋ถ€ํ„ฐ
// top, right, bottom, left ๊ฐ’์— ๋”ฐ๋ผ ์˜ฎ๊ฒจ์ง.
position: fixed;
// ์ƒ์ž ์•ˆ์—์„œ ์™„์ „ํžˆ ๋ฒ—์–ด๋‚˜ Window ์ƒ ํ˜น์€ ํŽ˜์ด์ง€ ์ƒ ์ž์ฒด์—์„œ
// top, right, bottom, left ๊ฐ’์— ๋”ฐ๋ผ ์˜ฎ๊ฒจ์ง.
position: sticky;
// ์›๋ž˜ ์•„์ดํ…œ์ด ์žˆ์–ด์•ผ ํ•˜๋Š” ์ž๋ฆฌ์— ์žˆ์œผ๋ฉด์„œ๋„ ์Šคํฌ๋กค๋ง ๋˜์–ด๋„ ์‚ฌ๋ผ์ง€์ง€ ์•Š๊ณ  ๊ทธ๋Œ€๋กœ ๋ถ™์–ด์žˆ์œผ๋ฉฐ
// top, right, bottom, left ๊ฐ’์— ๋”ฐ๋ผ ์˜ฎ๊ฒจ์ง.

๐Ÿฅ• static > relative

container ํด๋ž˜์Šค ์ƒ์—์„œ ์ด๋™ํ•˜์˜€๋‹ค.

๐Ÿฅ• static > absolute

box ํด๋ž˜์Šค ์ƒ์—์„œ ์ด๋™ํ•˜์˜€๋‹ค.

๐Ÿฅ• static > fixed

box ํด๋ž˜์Šค ์ƒ์—์„œ ์ด๋™ํ•˜์˜€๋‹ค.

๐Ÿฅ• static > sticky

box ํด๋ž˜์Šค ์ƒ์—์„œ ์ด๋™ํ•˜์˜€๋‹ค.

ํƒœ๊ทธ๋‚˜ ์†์„ฑ ๊ฐ’ ๋“ฑ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด browser ํ˜ธํ™˜์„ฑ์„ ์ฒดํฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.
https://caniuse.com/ ์—์„œ ํ•ญ์ƒ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.


<์ถœ์ฒ˜>
๋“œ๋ฆผ์ฝ”๋”ฉ
MDN
TCPschool

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