Web

CSS display ์†์„ฑ: block, inline, flex (+) vh ๋‹จ์œ„

๋…ธ๋ฃจ๋ฃฝ 2020. 8. 15. 23:25

block, inline

block: ์˜†์— ์•„๋ฌด๊ฒƒ๋„ ์˜ฌ ์ˆ˜ ์—†๋‹ค. ํ˜ผ์ž ํ•œ ์ค„์„ ์ฐจ์ง€. <div>, <p>, <h1> ๋“ฑ.

inline: ๋†’์ด(height)์™€ ๋„ˆ๋น„(weight)๊ฐ€ ์—†์Œ. ์˜†์— ๋‹ค๋ฅธ ์š”์†Œ๊ฐ€ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. <span>, <link>, <image> ๋“ฑ. 

 

display ์†์„ฑ๊ฐ’ ๋ณ€๊ฒฝ

display: block;
display: inline;
display: inline-block;

inline-block: ๋ฐ•์Šค ๋ชจ์–‘์ด์ง€๋งŒ inline

๋“ฑ์œผ๋กœ ์†์„ฑ๊ฐ’ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ.

 

block์˜ ๋Œ€ํ‘œ์ ์ธ ํŠน์ง• 3๊ฐ€์ง€

  1. margin
  2. padding
  3. border

 

margin

box์˜ border(๊ฒฝ๊ณ„)์˜ ๋ฐ”๊นฅ์— ์žˆ๋Š” ๊ณต๊ฐ„.

์ฃผํ™ฉ์ƒ‰ ๋ถ€๋ถ„์ด margin.

 

inline ์€ ์œ„, ์•„๋ž˜ margin์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค. ๋†’์ด์™€ ๋„ˆ๋น„๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ.

(padding์€ ์‚ฌ๋ฐฉ์œผ๋กœ ๊ฐ€์งˆ ์ˆ˜ O)

∴ margin์„ ๊ฐ€์ง€๊ธฐ ์œ„ํ•ด์„œ๋Š” inline์š”์†Œ๋“ค์„ block์œผ๋กœ ๋ฐ”๊ฟ”์•ผ ํ•œ๋‹ค.

/* ๋งˆ์ง„์ด ์‚ฌ๋ผ์ง„๋‹ค */
margin: 0px;

 

/* ์‚ฌ๋ฐฉ์— ๋‹ค ์ ์šฉ */
margin: 20px;

/* ์œ„, ์•„๋ž˜๋Š” 20px, ์ขŒ, ์šฐ๋Š” 50px ์ ์šฉ */
margin: 20px 50px;

/* ์œ„์ชฝ, ์˜ค๋ฅธ์ชฝ, ์•„๋ž˜์ชฝ, ์™ผ์ชฝ ๋œป(์‹œ๊ณ„๋ฐฉํ–ฅ) */
margin: 20px 5px 10px 15px;

 

collapsing margin

body์˜ ๊ฒฝ๊ณ„๊ฐ€ ๋ณด๋ผ์ƒ‰์˜ box์™€ ๊ฐ™๋‹ค๋ฉด ์ด ๋‘ ๋งˆ์ง„์„ ํ•˜๋‚˜๋กœ ์นœ๋‹ค.

์•„๋ฌด๋ฆฌ body์˜ ์œ„, ์•„๋ž˜ ๋งˆ์ง„์„ ๋ฐ”๊ฟ”๋„ ์ ์šฉ์ด ์•ˆ๋œ๋‹ค,, → ์ด๋Ÿด ๋• padding ์ด์šฉ!

์œ„, ์•„๋ž˜์ชฝ์—๋งŒ ์ด ํ˜„์ƒ์ด ์ผ์–ด๋‚จ.

 

padding

margin์˜ ์ •๋ฐ˜๋Œ€ ๊ฐœ๋….

box์˜ border(๊ฒฝ๊ณ„)์˜ ์•ˆ์ชฝ์— ์žˆ๋Š” ๊ณต๊ฐ„.

 

flexbox

 

body {
        height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
}

 

  • justify-content: main axis ์œ„์—์„œ ์›€์ง์ž„
  • align-items: cross axis ์œ„์—์„œ ์›€์ง์ž„.
  • flex-wrap: default๊ฐ’์€ nowrap. ๋ถ€๋ชจ ๋„“์ด๋ณด๋‹ค ์š”์†Œ๋“ค์˜ ์ด ๋„“์ด๊ฐ€ ํฌ๋‹ค๋ฉด ๊ฐ•์ œ ์ถ•์†Œ๋˜์ง€๋งŒ, wrap ์†์„ฑ์„ ํ†ตํ•ด ์ถ•์†Œ๋˜์ง€ ์•Š๊ณ  ์›๋ž˜ ํฌ๊ธฐ ์œ ์ง€ ๊ฐ€๋Šฅ.

์ˆ˜ํ‰, ์ˆ˜์ง X. ์™œ๋ƒํ•˜๋ฉด ์ถ•์€ ๋ฐ”๋€” ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

flex-direction: column;

์ˆ˜ํ‰๊ณผ ์ˆ˜์ง์ด ๋ฐ”๋€œ. (main axis๊ฐ€ ์ˆ˜์ง์ด ๋จ.)

default ๊ฐ’์€ row.

 

vh ๋ž€?

vh = viewport height = screen height

height: 100vh;

 

ํ™”๋ฉด ๋†’์ด์˜ 100%๋ฅผ ๋œปํ•จ.

์ด ๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ™”๋ฉดํฌ๊ธฐ์— ๋”ฐ๋ผ ์ƒ๋Œ€์ ์ธ ์œ„์น˜๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.