๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • What would life be If we had no courage to attemp anything?
Language/HTML & CSS

CSS

by DevIseo 2022. 5. 6.

CSS - ์Šคํƒ€์ผ์„ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด cascading style sheets

  • CSS ๊ตฌ๋ฌธ์€ ์„ ํƒ์ž๋ฅผ ํ†ตํ•ด ์Šคํƒ€์ผ์„ ์ง€์ •ํ•  HTML์š”์†Œ๋ฅผ ์„ ํƒ
  • ์ค‘๊ด„ํ˜ธ ์•ˆ์—์„œ๋Š” ์†์„ฑ๊ณผ ๊ฐ’, ํ•˜๋‚˜์˜ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์„ ์–ธ์„ ์ง„ํ–‰
  • ๊ฐ ์Œ์˜ ์„ ํƒํ•œ ์š”์†Œ์˜ ์†์„ฑ, ์†์„ฑ์— ๋ถ€์—ฌํ•  ๊ฐ’์„ ์˜๋ฏธ
    • ์†์„ฑ(property) : ์–ด๋–ค ์Šคํƒ€์ผ ๊ธฐ๋Šฅ์„ ๋ณ€๊ฒฝํ• ์ง€ ๊ฒฐ์ •
    • ๊ฐ’(value) : ์–ด๋–ป๊ฒŒ ์Šคํƒ€์ผ ๊ธฐ๋Šฅ์„ ๋ณ€๊ฒฝํ• ์ง€ ๊ฒฐ์ •

CSS ์ •์˜ ๋ฐฉ๋ฒ•

  • ์ธ๋ผ์ธ : ํ•ด๋‹น ํƒœ๊ทธ์— ์ง์ ‘ style์†์„ฑ์„ ํ™œ์šฉ
  • ๋‚ด๋ถ€ ์ฐธ์กฐ(embedding)-<style> : headํƒœ๊ทธ ์•ˆ์— ์ง€์ •
  • ์™ธ๋ถ€ ์ฐธ์กฐ(link file) - ๋ถ„๋ฆฌ๋œ CSS ํŒŒ์ผ - head link๋ฅผ ํ†ตํ•ด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

์„ ํƒ์ž(selector)

์„ ํƒ์ž(Selector) ์œ ํ˜•

  • ๊ธฐ๋ณธ ์„ ํƒ์ž
    • ์ „์ฒด ์„ ํƒ์ž, ์š”์†Œ ์„ ํƒ์ž
    • ํด๋ž˜์Šค ์„ ํƒ์ž, ์•„์ด๋”” ์„ ํƒ์ž, ์†์„ฑ ์„ ํƒ์ž
  • ๊ฒฐํ•ฉ์ž(Combinators)
    • ์ž์† ๊ฒฐํ•ฉ์ž, ์ž์‹ ๊ฒฐํ•ฉ์ž
    • ์ผ๋ฐ˜ ํ˜•์ œ ๊ฒฐํ•ฉ์ž, ์ธ์ ‘ ํ˜•์ œ ๊ฒฐํ•ฉ์ž
  • ์˜์‚ฌ ํด๋ž˜์Šค/์š”์†Œ(Pseudo Class)
    • ๋งํฌ, ๋™์  ์˜์‚ฌ ํด๋ž˜์Šค
    • ๊ตฌ์กฐ์  ์˜์‚ฌ ํด๋ž˜์Šค, ๊ธฐํƒ€ ์˜์‚ฌ ํด๋ž˜์Šค, ์˜์‚ฌ ์—˜๋ฆฌ๋จผํŠธ, ์†์„ฑ ์„ ํƒ์ž

CSS์„ ํƒ์ž ์ •๋ฆฌ

  • ์š”์†Œ ์„ ํƒ์ž
    • HTML ํƒœ๊ทธ๋ฅผ ์ง์ ‘ ์„ ํƒ
  • ํด๋ž˜์Šค(class) ์„ ํƒ์ž
    • ๋งˆ์นจํ‘œ(.)๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ, ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ์ ์šฉ๋œ ํ•ญ๋ชฉ์„ ์„ ํƒ
  • ์•„์ด๋””(id) ์„ ํƒ์ž
    • #๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ, ํ•ด๋‹น ์•„์ด๋””๊ฐ€ ์ ์šฉ๋œ ํ•ญ๋ชฉ์„ ์„ ํƒ
    • ์ผ๋ฐ˜์ ์œผ๋กœ ํ•˜๋‚˜์˜ ๋ฌธ์„œ์— 1๋ฒˆ๋งŒ ์‚ฌ์šฉ. ์—ฌ๋Ÿฌ๋ฒˆ ์‚ฌ์šฉํ•ด๋„ ๋˜์ง€๋งŒ, ๋‹จ์ผid ์‚ฌ์šฉ ๊ถŒ์žฅ

๊ฒฐํ•ฉ์ž(Combinators)

  • ์ž์† ๊ฒฐํ•ฉ์ž - ๋ชจ๋“  ๊ฒƒ
    • selectorA ํ•˜์œ„์˜ ๋ชจ๋“  selectorB์š”์†Œ
  • ์ž์‹ ๊ฒฐํ•ฉ์ž - ๋ฐ”๋กœ ์•„๋ž˜ ๊ฒƒ๋งŒ, >๋กœ ์ฐ์–ด์„œ ์ž์‹
    • selectorA ๋ฐ”๋กœ ์•„๋ž˜์˜ selectorB์š”์†Œ
  • ์ผ๋ฐ˜ ํ˜•์ œ ๊ฒฐํ•ฉ์ž ~
    • selectorA์˜ ํ˜•์ œ ์š”์†Œ ์ค‘ ๋’ค์— ์œ„์น˜ํ•˜๋Š” selectorB ์š”์†Œ ๋ชจ๋‘ ์„ ํƒ
  • ์ธ์ ‘ ํ˜•์ œ ๊ฒฐํ•ฉ์ž +
    • selectorA์˜ ํ˜•์ œ ์š”์†Œ ์ค‘ ๋ฐ”๋กœ ๋’ค์— ์œ„์น˜ํ•˜๋Š” selecotrB์š”์†Œ ์„ ํƒ

CSS ์ ์šฉ ์šฐ์„ ์ˆœ์œ„(cascading order)

  • CSS์šฐ์„ ์ˆœ์œ„
  1. ์ค‘์š”๋„(importance) - ์‚ฌ์šฉ์‹œ ์ฃผ์˜
    1. !.important
  2. ์šฐ์„ ์ˆœ์œ„
    1. ์ธ๋ผ์ธ>id>class,์†์„ฑ,pseudo-class>์š”์†Œ,pseudo-element
  3. css ํŒŒ์ผ ๋กœ๋”ฉ ์ˆœ์„œ

์„ ํƒ์ž ์šฐ์„ ์ˆœ์œ„

๋ฒ”์œ„๊ฐ€ ํฐ๊ฑฐ < ์ž‘์€๊ฑฐ

CSS ์ฝ”๋“œ ์ž‘์„ฑ ์ˆœ์„œ๊ฐ€ ์œ„ < ์•„๋ž˜

CSS ์ƒ์†

  • CSS์ƒ์†์„ ํ†ตํ•ด ๋ถ€๋ชจ ์š”์†Œ์˜ ์†์„ฑ์„ ์ž์‹์—๊ฒŒ ์ƒ์†
    • ์†์„ฑ(property) ์ค‘์—๋Š” ์ƒ์†์ด ๋˜๋Š” ๊ฒƒ๊ณผ ๋˜์ง€ ์•Š๋Š” ๊ฒƒ๋“ค์ด ์žˆ๋‹ค.
    • ์ƒ์† ๋˜๋Š” ๊ฒƒ ์˜ˆ์‹œ
      • text ๊ด€๋ จ ์š”์†Œ (font, color, text-align),opacity, visibility ๋“ฑ
    • ์ƒ์† ๋˜์ง€ ์•Š๋Š” ๊ฒƒ ์˜ˆ์‹œ
      • Box model ๊ด€๋ จ ์š”์†Œ
        • width, height, margin, padding, border, box-sizing, display
      • position ๊ด€๋ จ ์š”์†Œ
        • position, top/right/bottom/left, z-index๋“ฑ

CSS ํฌ๊ธฐ ๋‹จ์œ„

  • px(ํ”ฝ์…€)
    • ๋ชจ๋‹ˆํ„ฐ ํ•ด์ƒ๋„์˜ ํ•œ ํ™”์†Œ์ธ ‘ํ”ฝ์…€’๊ธฐ์ค€
    • ํ”ฝ์…€์˜ ํฌ๊ธฐ๋Š” ๋ณ€ํ•˜์ง€ ์•Š์Œ, ๊ณ ์ •์ ์ธ ๋‹จ์œ„
  • %
    • ๋ฐฑ๋ถ„์œจ ๋‹จ์œ„
    • ๊ฐ€๋ณ€์ ์ธ ๋ ˆ์ด์•„์›ƒ์— ์ž์ฃผ ์‚ฌ์šฉ
  • em
    • (๋ฐ”๋กœ ์œ„, ๋ถ€๋ชจ ์š”์†Œ์— ๋Œ€ํ•œ) ์ƒ์†์˜ ์˜ํ–ฅ์„ ๋ฐ›์Œ
    • ๋ฐฐ์ˆ˜ ๋‹จ์œ„, ์š”์†Œ์— ์ง€์ •๋œ ์‚ฌ์ด์ฆˆ์— ์ƒ๋Œ€์ ์ธ ์‚ฌ์ด์ฆˆ๋ฅผ ๊ฐ€์ง
  • rem
    • (๋ฐ”๋กœ ์œ„, ๋ถ€๋ชจ ์š”์†Œ์— ๋Œ€ํ•œ) ์ƒ์†์˜ ์˜ํ–ฅ ๋ฐ›์ง€ X
    • ์ตœ์ƒ์œ„ ์š”์†Œ(html)์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฐฐ์ˆ˜ ๋‹จ์œ„๋ฅผ ๊ฐ€์ง
rem ⇒๋ฃจํŠธ, 16px
- 16px X 1.5 = 24px

em์€ ๋ถ€๋ชจ์—์„œ ์˜ํ–ฅ ๋ฐ›์Œ
- ๋ถ€๋ชจ : 16px X 1.5 = 24px
- em : 24 x 1.5 = 36px
  • viewport
    • ์›น ํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธํ•œ ์œ ์ €์—๊ฒŒ ๋ฐ”๋กœ ๋ณด์ด๊ฒŒ ๋˜๋Š” ์›น ์ปจํ…์ธ ์˜ ์˜์—ญ(๋””๋ฐ”์ด์Šค ํ™”๋ฉด)
    • ๋””๋ฐ”์ด์Šค viewport๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ƒ๋Œ€์ ์ธ ์‚ฌ์ด์ฆˆ๊ฐ€ ๊ฒฐ์ •๋จ
    • vw, vh, vmin,vmax

์ƒ‰์ƒ

  • ์ƒ‰์ƒํ‚ค์›Œ๋“œ - ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„x
  • RGB ์ƒ‰์ƒ- 16์ง„์ˆ˜ ํ‘œ๊ธฐ๋ฒ• or ํ•จ์ˆ˜ํ˜• ํ‘œ๊ธฐ๋ฒ• ๋“ฑ ์‚ฌ์šฉํ•ด ํŠน์ •์ƒ‰ ํ‘œํ˜„
  • HSL์ƒ‰์ƒ - ์ƒ‰์ƒ, ์ฑ„๋„, ๋ช…๋„๋ฅผ ํ†ตํ•ด ํŠน์ •์ƒ‰ ํ‘œํ˜„
  • rgba, hsla ์ด๋•Œ a๋Š” alpha(ํˆฌ๋ช…๋„๋ฅผ ๋งํ•จ)
  • ์„œ์ฒด : font-family
  • ์„œ์ฒด ์Šคํƒ€์ผ : font-style
  • ์ž๊ฐ„(๊ธ€์ž ๊ฐ„๊ฒฉ): letter-spacing
  • ๋‹จ์–ด ๊ฐ„๊ฒฉ : word-spacing
  • ํ–‰๊ฐ„(์ค„๊ณผ ์ค„ ์‚ฌ์ด): line-height
  • ๋“ค์—ฌ์“ฐ๊ธฐ: text-indent

CSS ์›์น™1

  • ๋ชจ๋“  ์š”์†Œ๋Š” ๋„ค๋ชจ(๋ฐ•์Šค๋ชจ๋ธ)์ด๊ณ ,
  • ๊ธ€์ž๋Š” inline, ๋ฐ•์Šค๋Š” block
  • ์œ„์—์„œ๋ถ€ํ„ฐ ์•„๋ž˜๋กœ, ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์Œ“์ž„. (์ขŒ์ธก ์ƒ๋‹จ์— ๋ฐฐ์น˜)

 

Box Model

  • ๋ชจ๋“  HTML ์š”์†Œ๋Š” boxํ˜•ํƒœ๋กœ ๋จ
  • ํ•˜๋‚˜์˜ ๋ฐ•์Šค = 4 ์˜์—ญ

  • Margin : ํ…Œ๋‘๋ฆฌ ๋ฐ”๊นฅ์˜ ์™ธ๋ถ€ ์—ฌ๋ฐฑ
  • Border : ํ…Œ๋‘๋ฆฌ ์˜์—ญ
  • Padding : ํ…Œ๋‘๋ฆฌ ์•ˆ์ชฝ์˜ ๋‚ด๋ถ€ ์—ฌ๋ฐฑ. ์š”์†Œ์— ์ ์šฉ๋œ ๋ฐฐ๊ฒฝ์ƒ‰, ์ด๋ฏธ์ง€๋Š” padding๊นŒ์ง€ ์ ์šฉ
  • Content : ๊ธ€์ด๋‚˜ ์ด๋ฏธ์ง€ ๋“ฑ ์š”์†Œ์˜ ์‹ค์ œ ๋‚ด์šฉ

 

  • ๋‚ด๋ถ€ ๊ณต๊ฐ„์„ ๋Š˜๋ฆฌ๊ณ  ์‹ถ์„ ๋•Œ : padding ์ด์šฉ
  • ๋‹ค๋ฅธ ๊ฒƒ๊ณผ์˜ ๊ณต๊ฐ„์„ ๋Š˜๋ฆฌ๊ณ  ์‹ถ์„ ๋•Œ : margin ์ด์šฉ
  • ์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ margin๊ณผ padding์„ ์ ์šฉ ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ!

box-sizing

  • ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ์š”์†Œ์˜ box-sizing์€ content-box
    • padding์„ ์ œ์™ธํ•œ ์ˆœ์ˆ˜ contents ์˜์—ญ๋งŒ์„ box๋กœ ์ง€์ •
  • ๋‹ค๋งŒ, ์šฐ๋ฆฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์˜์—ญ์„ ๋ณผ ๋•Œ๋Š” border๊นŒ์ง€์˜ ๋„ˆ๋น„๋ฅผ 100px ๋ณด๋Š” ๊ฒƒ์„ ์›ํ•จ
    • ๊ทธ ๊ฒฝ์šฐ box-sizing์„ border-box๋กœ ์„ค์ •

CSS์›์น™2

  • ๋ชจ๋“  ์š”์†Œ๋Š” ๋„ค๋ชจ(๋ฐ•์Šค๋ชจ๋ธ)์ด๊ณ , ์ขŒ์ธก ์ƒ๋‹จ์— ๋ฐฐ์น˜
  • display์— ๋”ฐ๋ผ ํฌ๊ธฐ์™€ ๋ฐฐ์น˜๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค

 

 

์ธ๋ผ์ธ, ๋ธ”๋ก์š”์†Œ

  • dispaly : block
    • ์ค„ ๋ฐ”๊ฟˆ์ด ์ผ์–ด๋‚˜๋Š” ์š”์†Œ
    • ํ™”๋ฉด ํฌ๊ธฐ ์ „์ฒด์˜ ๊ฐ€๋กœ ํญ์„ ์ฐจ์ง€
    • ๋ธ”๋ก ๋ ˆ๋ฒจ ์š”์†Œ ์•ˆ์— ์ธ๋ผ์ธ ๋ ˆ๋ฒจ ์š”์†Œ๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์Œ.
  • display : inline
    • ์ค„ ๋ฐ”๊ฟˆ์ด ์ผ์–ด๋‚˜์ง€ ์•Š๋Š” ํ–‰์˜ ์ผ๋ถ€ ์š”์†Œ
    • content ๋„ˆ๋น„๋งŒํผ ๊ฐ€๋กœ ํญ์„ ์ฐจ์ง€
    • width, height, margin-top,margin-bottom์„ ์ง€์ •ํ•  ์ˆ˜ ์—†์Œ.
    • ์ƒํ•˜ ์—ฌ๋ฐฑ์€ line-height๋กœ ์ง€์ •
  • display : inline-block
    • block๊ณผ inline๋ ˆ๋ฒจ ์š”์†Œ์˜ ํŠน์ง• ๋ชจ๋‘ ๊ฐ€์ง
    • inline์ฒ˜๋Ÿผ ํ•œ ์ค„์— ํ‘œ์‹œ ๊ฐ€๋Šฅ, block์ฒ˜๋Ÿผ width,height,margin์†์„ฑ ๋ชจ๋‘ ์ง€์ • ๊ฐ€๋Šฅ
  • display : none
    • ํ•ด๋‹น ์š”์†Œ๋ฅผ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜์ง€ ์•Š๊ณ , ๊ณต๊ฐ„์กฐ์ฐจ ๋ถ€์—ฌ๋˜์ง€ ์•Š์Œ
    • ์ด์™€ ๋น„์Šทํ•œ visibility : hidden์€ ํ•ด๋‹น ์š”์†Œ๊ฐ€ ๊ณต๊ฐ„์€ ์ฐจ์ง€ํ•˜๋‚˜ ํ™”๋ฉด์— ํ‘œ์‹œ๋งŒ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

๋ธ”๋ก ๋ ˆ๋ฒจ ์š”์†Œ์™€ ์ธ๋ผ์ธ ๋ ˆ๋ฒจ ์š”์†Œ

  • html 4.1๊นŒ์ง€ ๋ธ”๋ก ๋ ˆ๋ฒจ ์š”์†Œ์™€ ์ธ๋ผ์ธ ๋ ˆ๋ฒจ ์š”์†Œ ๊ตฌ๋ถ„
  • ๋Œ€ํ‘œ์ ์ธ ๋ธ”๋ก ๋ ˆ๋ฒจ ์š”์†Œ
    • div/ ul,ol,li/p/hr/form ๋“ฑ
  • ๋Œ€ํ‘œ์ ์ธ ์ธ๋ผ์ธ ๋ ˆ๋ฒจ ์š”์†Œ
    • span/a/img/input,label/b,em,i,strong๋“ฑ

block

  • block์˜ ๊ธฐ๋ณธ ๋„ˆ๋น„๋Š” ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋„ˆ๋น„์˜ 100%
  • ๋„ˆ๋น„๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค๋ฉด ์ž๋™์œผ๋กœ margin์ด ๋ถ€์—ฌ

inline

  • ์ปจํ…์ธ  ์˜์—ญ๋งŒํผ์ด ๊ธฐ๋ณธ ๋„ˆ๋น„

 

 

CSS position

  • ๋ฌธ์„œ ์ƒ์—์„œ ์š”์†Œ ์œ„์น˜๋ฅผ ์ง€์ •
  • static : ๋ชจ๋“  ํƒœ๊ทธ์˜ ๊ธฐ๋ณธ ๊ฐ’(๊ธฐ์ค€ ์œ„์น˜)
    • ์ผ๋ฐ˜์ ์ธ ์š”์†Œ์˜ ๋ฐฐ์น˜ ์ˆœ์„œ์— ๋”ฐ๋ฆ„(์ขŒ์ธก ์ƒ๋‹จ)
    • ๋ถ€๋ชจ ์š”์†Œ ๋‚ด์—์„œ ๋ฐฐ์น˜๋  ๋•Œ๋Š” ๋ถ€๋ชจ ์š”์†Œ์˜ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฐฐ์น˜๋จ
  • ์•„๋ž˜๋Š” ์ขŒํ‘œ ํ”„๋กœํผํ‹ฐ(top, bottom, left, right)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋™ ๊ฐ€๋Šฅ
    • relative : ์ƒ๋Œ€ ์œ„์น˜
      • ์ž๊ธฐ ์ž์‹ ์˜ static ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ด๋™ (normal flow)
      • ๊ธฐ๋ณธ ์œ„์น˜(normal position)๋Œ€๋น„ offset
      • ๋ ˆ์ด์•„์›ƒ์—์„œ ์š”์†Œ๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ๊ณต๊ฐ„์€ static๊ณผ ๊ฐ™์Œ (normal position ๋Œ€๋น„ offset)
      • relative๋Š” ์›๋ณธ์€ ๊ทธ๋Œ€๋กœ ์žˆ์ง€๋งŒ ๋ถ„์‹ ๋งŒ ์›€์ง์ด๋Š” ๊ฒƒ!
    • absolute : ์ ˆ๋Œ€ ์œ„์น˜
      • ์š”์†Œ๋ฅผ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์„œ ํ๋ฆ„์—์„œ ์ œ๊ฑฐ ํ›„ ๋ ˆ์ด์•„์›ƒ์— ๊ณต๊ฐ„์„ ์ฐจ์ง€ ํ•˜์ง€ ์•Š์Œ (out-of-flow)
      • normal flow์—์„œ ๋ฒ—์–ด๋‚˜ ๋ถ€๋ชจ/์กฐ์ƒ ์š”์†Œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์œ„์น˜
      • static์ด ์•„๋‹Œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์ด ์žˆ๋Š” ๋ถ€๋ชจ/์กฐ์ƒ ์š”์†Œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ด๋™(์—†๋Š” ๊ฒฝ์šฐ body)
    • fixed : ๊ณ ์ • ์œ„์น˜
      • ์š”์†Œ๋ฅผ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์„œ ํ๋ฆ„์—์„œ ์ œ๊ฑฐ ํ›„ ๋ ˆ์ด์•„์›ƒ์— ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜์ง€ ์•Š์Œ (out-of-flow)
      • normal flow์—์„œ ๋ฒ—์–ด๋‚˜ viewport๊ธฐ์ค€์œผ๋กœ ์œ„์น˜
      • ๋ถ€๋ชจ ์š”์†Œ์™€ ๊ด€๊ณ„์—†์ด viewport๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ด๋™
        • ์Šคํฌ๋กค ์‹œ์—๋„ ํ•ญ์ƒ ๊ฐ™์€ ๊ณณ์— ์œ„์น˜
      • sticky์™€ ๋น„์Šทํ•œ๋ฐ ํŠน์ • ์œ„์น˜์— ์™„์ „ ๊ณ ์ • ๋˜์–ด์žˆ๋Š” ๊ฒƒ
      ex)์‡ผํ•‘๋ชฐ ํ™ˆํŽ˜์ด์ง€์—์„œ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๊ฐ™์€ ๊ฑฐ์— ์‚ฌ์šฉ?
    • sticky
      • ๋ณธ์ฒด๋Š” ๊ทธ๋Œ€๋กœ์ธ๋ฐ ๋ถ„์‹ ๋งŒ ์›€์ง์ด๋Š”๊ฒƒ!
      • ์ƒ๋‹จ ๋ฉ”๋‰ด์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Œ
    fiexed-top(์œ„์ชฝ์ด ์ž˜๋ฆผ (์ž๋ฆฌ์ฐจ์ง€ ์—ฌ๋ถ€๊ฐ€ ๋‹ค๋ฆ„) -margin bottom์„ ์ค˜์•ผํ•จ) vs sticky-top

 

  • position
    • ๋ธŒ๋ผ์šฐ์ € ๊ธฐ์ค€ : sticky, fixed
    • ๋„ค๋ชจ ์œ„ ๋„ค๋ชจ : absolute
๐Ÿ’ก CSS์›์น™ 1,2 : Normal flow

๋ชจ๋“  ์š”์†Œ๋Š” ๋„ค๋ชจ(๋ฐ•์Šค๋ชจ๋ธ), ์ขŒ์ธก ์ƒ๋‹จ์— ๋ฐฐ์น˜
display์— ๋”ฐ๋ผ ํฌ๊ธฐ์™€ ๋ฐฐ์น˜๊ฐ€ ๋‹ฌ๋ผ์ง
CSS์›์น™ 3

position์œผ๋กœ ์œ„์น˜์˜ ๊ธฐ์ค€์„ ๋ณ€๊ฒฝ
relative : ๋ณธ์ธ์˜ ์›๋ž˜ ์œ„์น˜
absolute : ํŠน์ • ๋ถ€๋ชจ์˜ ์œ„์น˜
fixed : ํ™”๋ฉด์˜ ์œ„์น˜

Flex Box

๐Ÿ’ก ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š”?

์ด์ „๊นŒ์ง€ normal flow๋ฅผ ๋ฒ—์–ด๋‚˜๋Š” ์ˆ˜๋‹จ์€ float ๋‚˜ position

๊ทธ๋ ‡์ง€๋งŒ (์ˆ˜๋™ ๊ฐ’ ๋ถ€์—ฌ์—†์ด) ์ˆ˜์ง์ •๋ ฌ, ์•„์ดํ…œ์˜ ๋„ˆ๋น„์™€ ๋†’์ด ํ˜น์€ ๊ฐ„๊ฒฉ์„ ๋™์ผํ•˜๊ฒŒ ๋ฐฐ์น˜๊ฐ€ ์–ด๋ ค์› ์Œ.

 

ํ–‰๊ณผ ์—ด ํ˜•ํƒœ๋กœ ์•„์ดํ…œ๋“ค์„ ๋ฐฐ์น˜ํ•˜๋Š” 1์ฐจ์› ๋ ˆ์ด์•„์›ƒ ๋ชจ๋ธ

  • ์ถ•
    • main axis(๋ฉ”์ธ ์ถ•)
    • cross axis(๊ต์ฐจ ์ถ•)
  • ๊ตฌ์„ฑ ์š”์†Œ
    • Flex Container(๋ถ€๋ชจ ์š”์†Œ)
      • flexbox ๋ ˆ์ด์•„์›ƒ์„ ํ˜•์„ฑํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ชจ๋ธ
      • Flex item๋“ค์ด ๋†“์—ฌ์žˆ๋Š” ์˜์—ญ
      • display์†์„ฑ์„ flex ํ˜น์€ inline-fliex๋กœ ์ง€์ •
      .flex-container {
      	display: flex;
      }
      
      ๋ถ€๋ชจ ์š”์†Œ์— display:flex ํ˜น์€ inline-flex
      
    • Flex Item(์ž์‹์š”์†Œ)
      • ์ปจํ…Œ์ด๋„ˆ์— ์†ํ•ด ์žˆ๋Š” ์ปจํ…์ธ (๋ฐ•์Šค)

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

HTML  (0) 2022.05.06

๋Œ“๊ธ€