๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์–ธ์–ด/HTML. CSS

TIL08 | CSS inline๊ณผ block, position, float ์†์„ฑ

by lee365 2021. 10. 6.
๋ฐ˜์‘ํ˜•

๐Ÿ“‘ Cascading Meaning of CSS

๋ธŒ๋ผ์šฐ์ €๊ฐ€ CSS์ฝ”๋“œ๋ฅผ ์ฝ์„ ๋•Œ, ์œ„์— ์žˆ๋Š” ์ฝ”๋“œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ฝ๋Š”๋‹ค๋Š” ์˜๋ฏธ.
์ฆ‰, ๋งจ ๋งˆ์ง€๋ง‰์— ์žˆ๋Š” ์ฝ”๋“œ๊ฐ€ ์ ์šฉ

 

๐Ÿ“‘ Block

  • ์š”์†Œ ์˜†์— ๋‹ค๋ฅธ ์š”์†Œ๊ฐ€ ์˜ฌ ์ˆ˜ ์—†์Œ. (Box ๊ฐœ๋…)
  • ๋Œ€๋ถ€๋ถ„์˜ box๋“ค์€ block
  • <div>, <p>, <address>, <header> ๋“ฑ๋“ฑ
  • block์˜ ํŠน์ง•
    • margin : box์˜ border(๊ฒฝ๊ณ„)๋กœ๋ถ€ํ„ฐ ๋ฐ”๊นฅ์— ์žˆ๋Š” ๊ณต๊ฐ„
      * Collapsing margins: ์ž์‹box์˜ ๊ฒฝ๊ณ„๊ฐ€ ๋ถ€๋ชจbox์˜ ๊ฒฝ๊ณ„์™€ ๊ฐ™์„ ๋•Œ ์ผ์–ด๋‚˜๊ณ , ๊ทธ ๋•Œ ๋‘ box์˜ margin์ด ํ•˜๋‚˜๊ฐ€ ๋จ. (์œ„, ์•„๋ž˜์ชฝ๋งŒ ์ผ์–ด๋‚จ)  
    • padding : box์˜ border(๊ฒฝ๊ณ„)๋กœ๋ถ€ํ„ฐ ์•ˆ์ชฝ์— ์žˆ๋Š” ๊ณต๊ฐ„
    • border : box์˜ ๊ฒฝ๊ณ„

 

๐Ÿ“‘ Inline

  • ํ•˜๋‚˜์˜ ์š”์†Œ ์˜†์— ๋‹ค๋ฅธ ์š”์†Œ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ ๊ฐ™์€ ์ค„์— ์œ„์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • inline ์š”์†Œ๋“ค์„ ์™ธ์›Œ๋†“๋Š”๊ฒŒ ํŽธํ•จ.
  • <span>, <a>, <code> ๋“ฑ๋“ฑ
  • inline์˜ ํŠน์ง•
    • ๋†’์ด์™€ ๋„ˆ๋น„๊ฐ€ ๋ฌด์‹œ๋จ.
    • ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— margin ์œ„, ์•„๋ž˜ margin์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ block์œผ๋กœ ๋ฐ”๊ฟ”์ค˜์•ผํ•จ.
    • padding์€ ์ƒํ•˜์ขŒ์šฐ ์ ์šฉ๊ฐ€๋Šฅ

 

๐Ÿ”– block์„ inline์œผ๋กœ ๋ฐ”๊พธ๊ธฐ

display: inline

width, height ๊ฐ€ ๋ฌด์‹œ๋ผ์„œ ๋ฌด์–ธ๊ฐ€ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š” ์ด์ƒ ์•„๋ฌด๊ฒƒ๋„ ์•ˆ๋ณด์ž„.

display: inline-block

์œ„์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, ๋ฐ˜์‘ํ˜• ๋””์ง€์ธ ์ง€์›ํ•˜์ง€ ์•Š์Œ.
๋˜ํ•œ ์ •ํ•ด์ง„ ํ˜•์‹์ด ์—†๊ณ  block ์‚ฌ์ด์— ๋งˆ์Œ๋Œ€๋กœ ๊ณต๊ฐ„์ด ์ƒ๊ธฐ๊ธฐ ๋•Œ๋ฌธ์— ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ.
=> ํ•ด๊ฒฐ๋ฐฉ์•ˆ flex

display: flex

2์ฐจ์› ๋ ˆ์ด์•„์›ƒ์—์„œ ์ž˜ ์ž‘๋™ํ•œ๋‹ค.
๋งค์šฐ ์œ ์—ฐ, ์–ผ๋งˆ๋‚˜ ๋นˆ ๊ณต๊ฐ„์„ ์ค„์ง€ ์ž๋™์œผ๋กœ ๊ณ„์‚ฐ.

flexbox ์‚ฌ์šฉ๊ทœ์น™

  1) ์ž์‹ ์—˜๋ฆฌ๋จผํŠธ์—๋Š” ์–ด๋–ค ๊ฒƒ๋„ ์ ์ง€ ๋ง์•„์•ผ ํ•จ.   
     ์ž์‹ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์›€์ง์ด๊ฒŒ ํ•˜๋ ค๋ฉด ๋ถ€๋ชจ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ flex container๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.  
  2) justify-content : main axis์—์„œ ์ž‘์šฉ (default ์ˆ˜ํ‰)
  3) align-items     : cross axis์—์„œ ์ž‘์šฉ (default ์ˆ˜์ง)  
  • flex-direction : main axis์™€ cross axis์˜ default ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. (default row)

  • flex-wrap : flex-wrap์€ flex์˜ ํ•˜์œ„ ์š”์†Œ๋“ค์ด flex๋ฅผ ์„ ์–ธํ•œ ์˜์—ญ์„ ๋ฒ—์–ด๋‚  ๊ฒฝ์šฐ, ๊ฐ•์ œ๋กœ ํ•œ ์ค„๋กœ ๋ฐฐ์น˜ํ•  ์ง€ ํ–‰์„ ๋‚˜๋ˆ ์„œ ๋ฐฐ์น˜ํ•  ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์†์„ฑ.
    wrap flex๋ฅผ ์„ ์–ธํ•œ ์˜์—ญ์„ ๋ฒ—์–ด๋‚  ๊ฒฝ์šฐ ํ–‰์„ ๋‚˜๋ˆ ์„œ ๋ฐฐ์น˜.
    nowrap ์€ default๊ฐ’์œผ๋กœ ๊ฐ•์ œ๋กœ ํ•œ ์ค„๋กœ ๋ฐฐ์น˜.

    flexbox ๊ฐœ๋… ์žก๊ธฐ ์ข‹์€ ๊ฒŒ์ž„ ์‚ฌ์ดํŠธ https://flexboxfroggy.com/#ko

 

๐Ÿ“‘ Position

fixed

  • ์ดˆ๊ธฐ ์œ„์น˜์— ๊ณ ์ •์‹œ์ผœ์คŒ. ์Šคํฌ๋กคํ•ด๋„ ํ•ญ์ƒ ์ œ์ž๋ฆฌ
  • top, left, right, bottom ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ˆ˜์ •ํ–ˆ์„ ๋•Œ ์ดˆ๊ธฐ ์œ„์น˜๊ฐ€ ๋ฌด์‹œ๋˜๊ณ  ์ง€์ •ํ•œ ์œ„์น˜์— ์ž๋ฆฌ์žก์Œ.

relative

  • element๋ฅผ ์กฐ๊ธˆ ์›€์ง์ด๊ณ  ์‹ถ์„ ๋•Œ, ์ฒ˜์Œ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์›€์ง์ด๋‹ค.

absolute

  • static, relative์™€ ๋‹ค๋ฅด๊ฒŒ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์„œ ํ๋ฆ„์—์„œ ์ œ์™ธ
  • ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด relative ๋ถ€๋ชจ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ด๋™, ์—†์œผ๋ฉด body๊ฐ€ ๋ถ€๋ชจ

 

๐Ÿ“‘ float

  • ํŠน์ • ์š”์†Œ๋ฅผ ๋– ์žˆ๊ฒŒ ํ•˜๋„๋ก ํ•˜๋Š” ์†์„ฑ
  • float ์†์„ฑ์„ ์‚ฌ์šฉํ•ด ๋ฐ•์Šค๋ฅผ ์™ผ์ชฝ ๋˜๋Š” ์˜ค๋ฅธ์ชฝ์œผ๋กœ "๋ถ€์œ " ์‹œํ‚ค๋Š” ๋ ˆ์ด์•„์›ƒ ๊ธฐ๋ฒ•
  • (์ฃผ์˜) float ์†์„ฑ์„ ์‚ฌ์šฉํ•  ์š”์†Œ๋Š” position: absolute๊ฐ’๊ณผ ์–‘๋ฆฝํ•  ์ˆ˜ ์—†๋‹ค.

left

  • ์š”์†Œ๋ฅผ ์™ผ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ๋ถ€์œ ํ•˜๊ฒŒ ์„ค์ •

right

  • ์š”์†Œ๋ฅผ ์˜ค๋ฅธ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ๋ถ€์œ ํ•˜๊ฒŒ ์„ค์ •

none

  • default value, ์š”์†Œ๋ฅผ ๋„์šฐ์ง€ ์•Š๋Š”๋‹ค

 

๐Ÿ“‘ box-sizing

box-sizing: border-box ์˜ ์‚ฌ์šฉ ์˜ˆ

CSS์—์„œ 200pxํฌ๊ธฐ์˜ box์— 50px padding์„ ๋„ฃ์„ ๋•Œ,

width: 200px;
padding: 50px; 

์œ„์™€ ๊ฐ™์ด ์ž…๋ ฅํ•˜๋ฉด CSS์—์„œ๋Š” 200px์˜ box width๋ฅผ ์œ ์ง€ํ•˜๋ ค ํ•˜๋ฏ€๋กœ ์ด ํฌ๊ธฐ 250px (w:200, p:50) ์˜ box๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.
์ด๋•Œ box-sizing: border-box๋ฅผ ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด padding์„ ์ž…๋ ฅํ•ด๋„ box์‚ฌ์ด์ฆˆ๋ฅผ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๋Š”๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ๋˜์–ด
์ฒ˜์Œ์— ์›ํ–ˆ๋˜ padding 50, 150 box๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.

 

๋ฐ˜์‘ํ˜•

'์–ธ์–ด > HTML. CSS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

TIL07 | HTML Semantic Web & Semantic Tags  (0) 2021.10.06