๐Ÿ”Ž CSS - CSS declarations

์„œ๊ฐ€ํฌยท2022๋…„ 4์›” 8์ผ
0

CSS

๋ชฉ๋ก ๋ณด๊ธฐ
3/11
post-thumbnail

CSS declarations


1. ๋‹จ์œ„ (Units)

๋‹จ์œ„์˜ ๋ถ„๋ฅ˜

  • ์ ˆ๋Œ€ ๊ธธ์ด ๋‹จ์œ„ : cm, mm, px ๋“ฑ
  • ์ƒ๋Œ€ ๊ธธ์ด ๋‹จ์œ„ : em, rem, vw, vh, % ๋“ฑ

1-1. ์ ˆ๋Œ€ ๊ธธ์ด ๋‹จ์œ„ (Absolute length units)

px

  • โ€˜ํ™”์†Œโ€™ ๋ฅผ ์˜๋ฏธํ•˜๋Š” Pixel(Picture + Element)์˜ ์•ฝ์ž๋กœ ๋””๋ฐ”์ด์Šค ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„
  • px์€ ์ ˆ๋Œ€ ๊ธธ์ด ๋‹จ์œ„๋กœ CSS์—์„œ ๋งŽ์ด ์“ฐ์ด๋Š” ๊ธฐ๋ณธ ๋‹จ์œ„
  • ๊ณ ์ •๋œ ํฌ๊ธฐ ๊ทธ๋Œ€๋กœ๋ฅผ ํ™”๋ฉด์— ๊ทธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ์ง๊ด€์ ์œผ๋กœ ์‰ฝ๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ํฐํŠธ์˜ ์ดˆ๊ธฐ ๊ธฐ๋ณธ px์˜ ํฌ๊ธฐ๋Š” 16px

1-2. ์ƒ๋Œ€ ๊ธธ์ด ๋‹จ์œ„ (Relative length units)

1. em

  • ์ƒ๋Œ€ ๊ธธ์ด ๋‹จ์œ„๋กœ ๋ฐฐ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹จ์œ„
  • ๋ถ€๋ชจ์˜ font-size์— ๋”ฐ๋ผ ๊ธฐ์ค€์ ์„ ์„ธ์šฐ๋ฉฐ ๊ธฐ์ค€์ ์— ๋”ฐ๋ผ ํฌ๊ธฐ๊ฐ€ ๋‹ฌ๋ผ์ง

2. %

  • ๊ฐ€๋ณ€ ํฌ๊ธฐ ๋‹จ์œ„๋กœ์จ ๋ฐฑ๋ถ„์œจ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹จ์œ„
  • ๊ธฐ๋ณธ ์„ค์ •๋œ ํฌ๊ธฐ์—์„œ ์ƒ๋Œ€์ ์œผ๋กœ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ์„ค์ •๋œ ํฌ๊ธฐ๋Š” 100%์ด๋‹ค.
  • ๊ธฐ๋ณธ px์˜ ํฌ๊ธฐ 16px์— ํฐํŠธ์˜ ํฌ๊ธฐ๋ฅผ 75%๋ผ ์ •ํ•  ๊ฒฝ์šฐ, 16px * 0.75 = 12px๊ฐ€ ๋œ๋‹ค.

3. rem

  • ๋ฃจํŠธ ์š”์†Œ์˜ ๊ธ€๊ผด ํฌ๊ธฐ
  • rem ๊ฒฝ์šฐ, html ์š”์†Œ์˜ font-size ์†์„ฑ ๊ฐ’์ด ๊ธฐ์ค€์ด ๋œ๋‹ค.

4. vh, vw

  • vh = viewport height
  • vw = viewport width
  • ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ์Šคํฌ๋ฆฐ ํฌ๊ธฐ์— ๋งž์ถฐ ์ƒ๋Œ€์  ํฌ๊ธฐ๋ฅผ ๋ฐ˜ํ™˜
  • 100vh, 100vw ๊ฐ€ ์ „์ฒด ํ™”๋ฉด์˜ ๊ธฐ์ค€์ด ๋œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด,ํ˜„์žฌ ์Šคํฌ๋ฆฐ ํฌ๊ธฐ๊ฐ€ height = 1000px, width = 800px ์ด๋ผ๋ฉด 1vh = 10px / 1vw = 8px


5. vmin, vmax


๐Ÿงฒ ์ถœ์ฒ˜ https://webclub.tistory.com/356

  • viewport๋ฅผ ๊ธฐ์ค€์œผ๋กœ vmin์€ ์งง์€ ๊ฒƒ์—, vmax๋Š” ๊ธด ๊ฒƒ์œผ๋กœ ์žก์Œ.

2.overflow


  • overflowย ์†์„ฑ์€ ์š”์†Œ์˜ ์ฝ˜ํ…์ธ ๊ฐ€ ๋„ˆ๋ฌด ์ปค๋‹ค๋ž„ ๊ฒฝ์šฐ ์š”์†Œ๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ์ง€ ์ง€์ •.
  • overflow-x,ย overflow-y์˜ ์ถ• ๋ณ„๋กœ ๊ฐ’์„ ์„ค์ • ๊ฐ€๋Šฅ

  • ๋„˜์นœ ์ฝ˜ํ…์ธ ๋Š” ์ž˜๋ ค์ง.

  • overflowย ์†์„ฑ์€ ์ฒซ ๋ฒˆ์งธย overflow-x, ๋‘ ๋ฒˆ์งธ ๊ฐ’์€ย overflow-y๋ฅผ ์ง€์ •. ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ์ง€์ •ํ•œ ๊ฐ’์„ ์–‘ ์ถ• ๋ชจ๋‘์— ์ ์šฉํ•˜๋Š” ์ถ•์•ฝํ˜•์ด ๋จ.

div {
	/* x์ถ•์€ ์ˆจ๊ธฐ๊ณ , y์ถ•์€ ์ˆจ๊ธฐ์ง€๋งŒ ์Šคํฌ๋กค์„ ์ œ๊ณตํ•˜์—ฌ ์ž˜๋ฆฐ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๊ฒŒํ•ฉ๋‹ˆ๋‹ค. */
  overflow: hidden visible;
  width: 100px;
  height: 100px;
}

2-1. overflow ์ค‘์š” ์†์„ฑ

visible

overflow ์†์„ฑ์˜ ๊ธฐ๋ณธ ๊ฐ’. ์ฝ˜ํ…์ธ ๋ฅผ ์ž๋ฅด์ง€ ์•Š์Œ.

hidden

์ฝ˜ํ…์ธ ๋ฅผ ์š”์†Œ์˜ ํฌ๊ธฐ๋งŒํผ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ์ž˜๋ผ๋ƒ„. ์Šคํฌ๋กค ๋ฐ”๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์Œ.

๐Ÿ’ก float๋‚˜ magin ํ•ฉ์นจ ํ˜„์ƒ ๋“ฑ์—์„œ ์ž์‹ ์š”์†Œ์˜ ๋„“์ด๋‚˜ ๋†’์ด๋ฅผ ํฌํ•จ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋„ ๋งŽ์ด ์‚ฌ์šฉ๋‹ค. ์ด

scroll

์ฝ˜ํ…์ธ ๋ฅผ ์š”์†Œ์˜ ํฌ๊ธฐ๋งŒํผ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ์ž˜๋ผ๋ƒ„. ์ž˜๋ ค์ง„ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์Šคํฌ๋กค ๋ฐ”๋ฅผ ์ œ๊ณต

auto
๋ถ€๋ชจ์š”์†Œ์˜ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ€๋Š” ์ž์‹์š”์†Œ์˜ ๋ถ€๋ถ„์ด ์žˆ์„ ๊ฒฝ์šฐ ํ•ด๋‹น ๋ถ€๋ถ„์„ ๋ณด์ด์ง€ ์•Š๋„๋ก ์ฒ˜๋ฆฌํ•˜๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ํ•ด๋‹น ๋ถ€๋ถ„์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์Šคํฌ๋กค๋ฐ”๋ฅผ ํ‘œ์‹œ

3. background


3-1. background-image : url("์ด๋ฏธ์ง€ํŒŒ์ผ")


โœ” background-size: cover; ๋ž€โ—
์ด๋ฏธ์ง€๊ฐ€ ์ฐŒ๊ทธ๋Ÿฌ์ง€์ง€ ์•Š๋Š” ํ•œ๋„ ๋‚ด์—์„œ ์ œ์ผ ํฌ๊ฒŒ ์„ค์ •. ์ด๋ฏธ์ง€์˜ ๊ฐ€๋กœ์„ธ๋กœ๋น„๊ฐ€ ์š”์†Œ์™€ ๋‹ค๋ฅด๋‹ค๋ฉด ์ด๋ฏธ์ง€๋ฅผ ์„ธ๋กœ ๋˜๋Š” ๊ฐ€๋กœ๋ฐฉํ–ฅ์œผ๋กœ ์ž˜๋ผ๋‚ด์–ด ๋นˆ ๊ณต๊ฐ„์ด ์ƒ๊ธฐ์ง€ ์•Š๋„๋ก ์„ค์ •.

img ํƒœ๊ทธ VS background-image : url("์ด๋ฏธ์ง€ํŒŒ์ผ")

์ฃผ๋กœ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์™€ ํ˜‘์—…ํ•ด์•ผ ํ•˜๋Š” ๊ณต๊ฐ„์—๋Š” img ํƒœ๊ทธ, FE ํ˜ผ์ž ์ž‘์—…ํ•˜๋Š” ๊ณต๊ฐ„์—๋Š” background-image๋ฅผ ์‚ฌ์šฉ
์Šคํฌ๋ฆฐ๋ฆฌ๋”๊ฐ€ ์ฝ์ง€ ์•Š์•„์•ผ ํ•˜๋Š” ๊ณณ์—์„œ ์‚ฌ์šฉ

๋นˆ ์ด๋ฏธ์ง€ ๋„ฃ๊ณ  ์‹ถ์„ ๋•Œ
์ƒ˜ํ”Œ์ด๋ฏธ์ง€

background-image ๐Ÿ‘‰ html ๋ฐ– ๋ฏธ์ง€์˜ ์„ธ๊ณ„์— ์žˆ์Œ

3-2. background-repeat

  • repeat : ๋ฐ˜๋ณต
  • no-repeat : ๋ฐ˜๋ณต ์—†์ด
  • repeat-x : x์ถ•๋งŒ ๋ฐ˜๋ณต
  • repeat-y : y์ถ•๋งŒ ๋ฐ˜๋ณต
  • round : ์ด๋ฏธ์ง€ ์งค๋ฆฌ์ง€ ์•Š๊ฒŒ, ์ด๋ฏธ์ง€ ํฌ๊ธฐ ๋ณ€ํ™” ์ค˜์„œ ๊ฐ„๊ฒฉ ์—†์ด ๋ฐ˜๋ณต
  • space : ์ด๋ฏธ์ง€ ์งค๋ฆฌ์ง€ ์•Š๊ฒŒ ๋ฐ˜๋ณต, ๋‹จ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋Š” ์œ ์ง€
  • cover : ์ด๋ฏธ์ง€ ์ฐŒ๊ทธ๋Ÿฌ์ง€์ง€ ์•Š๋Š” ํ•œ๋„ ๋‚ด์—์„œ ์ œ์ผ ํฌ๊ฒŒ ์„ค์ •

3-3. background-position

  • ์ผ๋ฐ˜์ ์œผ๋กœ background-image ๋Š” ์™ผ์ชฝ ์œ„๋ถ€ํ„ฐ ์ด๋ฏธ์ง€๋ฅผ ์ถœ๋ ฅ ๐Ÿ‘‰
    background-position ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋ฏธ์ง€์˜ ์ขŒํ‘œ๋ฅผ ์ˆ˜์ •

background-position ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ‚ค์›Œ๋“œ์˜ ์กฐํ•ฉ

  • ์ ˆ๋Œ€์  ์œ„์น˜
    • left top
    • left center
    • left bottom
    • right center
    • right bottom
    • center top
    • center center
    • center bottom
  • ์ƒ๋Œ€์  ์œ„์น˜
    ํผ์„ผํŠธ(%)๋‚˜ ํ”ฝ์…€(px)์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ๋Œ€ ์œ„์น˜๋ฅผ ์ง์ ‘ ๋ช…์‹œ ๊ฐ€๋Šฅ
    ์ด๋•Œ ์ƒ๋Œ€ ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ธฐ์ค€์€ ํ•ด๋‹น ์š”์†Œ์˜ ์™ผ์ชฝ ์ƒ๋‹จ(left top)์ด ๋จ.

background-position์€ ์•„๋ž˜ ๋‘ ๊ฐœ์˜ ์†์„ฑ์˜ ์ถ•์•ฝ ์†์„ฑ์ž„.
background-position-x: 50%;
background-position-y: 30%;

3-4. background-size

  • background-size: cover๋Š” ์ด๋ฏธ์ง€๋ฅผ ๋„“์ด์™€ ๋†’์ด์— ๋งž๊ฒŒ ์ž˜๋ผ๋ƒ„.
  • background-size: contain์€ ์ด๋ฏธ์ง€ ๋„“์ด๋‚˜ ๋†’์ด์— ๋งž์ถฐ ์ž์‹ ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋ชจ๋‘ ๋‹ค ๋„ฃ๊ณ  ๋ฐ˜๋ณต.
  • background-size: 100%๋Š” ์ด๋ฏธ์ง€๋ฅผ width์™€ height์— ๋งž๊ฒŒ ์••์ถ•.( ๊ผญ %๊ฐ€ ๋ถ€๋ชจ์š”์†Œ์— ๋งž์ถฐ์ง„๋‹ค?๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์•ˆ๋  ๋“ฏ)

โœ… background-size ์ถ”๊ฐ€ ์„ค๋ช…


.four {
        /* center, right, left, bottom, top */
        background-position: center;
        background-size: cover;
}
.five {
        background-size: cover;
}

1.
background-position: center;
background-size: cover;

๐Ÿ‘† ์ด๋ฏธ์ง€๋ฅผ ์ค‘์•™์ •๋ ฌํ•œ ํ›„ ์™ผ์ชฝ ์œ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ cover ์ฆ‰, ์งค๋ฆฌ๋Š” ๊ฒƒ (์ฐŒ๋ถ€๋˜๋Š”๊ฒŒ ์•„๋‹ˆ์—์—ฌ)
2.
background-size: cover;

๐Ÿ‘† ์™ผ์ชฝ ์œ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ cover
๋”ฐ๋ผ์„œ, 2๋ฒˆ์งธ๋Š” ๊ท€๋ถ€ํ„ฐ ๋ณด์ด๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Œ.
3.
background-size: contain;

๐Ÿ‘† ๋น„์œจ ๋งž์ถฐ์„œ ์ƒ์„ฑ. (์—ฌ๋ฐฑ ์ƒ๊น€)
4.
background-size: 100% 100%;

๐Ÿ‘† ์ด๋ฏธ์ง€๋ฅผ width ์™€ height ์— ๋งž๊ฒŒ ์••์ถ•ํ•ด์„œ ์ด๋ฏธ์ง€๊ฐ€ ์งค๋ฆผ์ด ์—†์Œ. ๊ทธ๋Ÿฌ๋‚˜!! ํ™”์งˆ์ด ๊นจ์ ธ๋ณด์ž„.


4. font


๊ธ€๊ผด์„ ์ง€์ •ํ•˜๋Š”๋ฐ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•
1. px : ๊ฐ€์žฅ ๋งŽ์ด ํ‘œํ˜„๋˜๋Š” ๋ฐฉ๋ฒ•, ์ง€์ •๋œ ์ˆซ์ž๋Š” ํฐํŠธ์˜ ๋†’์ด๊ฐ€ ๋จ
2. % : ๋ถ€๋ชจ ์š”์†Œ์˜ ํฐํŠธ ํฌ๊ธฐ๊ฐ€ ๊ธฐ์ค€์ด ๋จ
3. em : ๋ถ€๋ชจ ์š”์†Œ์— ์žˆ๋Š” ํ…์ŠคํŠธ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ…์ŠคํŠธ ํฌ๊ธฐ ๋ณ€๊ฒฝ (n๋ฐฐ)

4-1. font-size

  • medium : ์›น๋ธŒ๋ผ์šฐ์ €์—์„œ ์ •ํ•œ ๊ธฐ๋ณธ ๊ธ€์žํฌ๊ธฐ
  • xx-small, x-small, small, large, x-large, xx-large : ๊ธฐ๋ณธ ๊ธ€์ž ํฌ๊ธฐ์—์„œ ์ž‘์€ ๊ฐ’๋ถ€ํ„ฐ ํฐ ๊ฐ’์˜ ์ˆœ
  • smaller, larger : ๋ถ€๋ชจ ์š”์†Œ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์ƒ๋Œ€์  ๊ธ€์ž ํฌ๊ธฐ
  • length : px, cm ๋“ฑ ๊ณ ์ •๋œ ๊ธธ์ด์™€ %, em, rem ์™€ ๊ฐ™์€ ๊ฐ€๋ณ€ ๊ธธ์ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
  • initial : ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •
  • inherit : ๋ถ€๋ชจ ์š”์†Œ์˜ ์†์„ฑ๊ฐ’์„ ์ƒ์†๋ฐ›์Œ

4-2. font-family

  • family-name : ๊ถ์„œ, ๊ตด๋ฆผ, arial๊ฐ™์€ ๊ธ€๊ผด ์ด๋ฆ„์„ ์‚ฌ์šฉ.
  • initial : ๋ถ€๋ชจ์˜ ์†์„ฑ์„ ์ƒ์†๋ฐ›์ง€ ์•Š๊ณ , ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”
  • inherit : ๋ถ€๋ชจ์˜ ์†์„ฑ์„ ์ƒ์† ๋ฐ›์Œ

์‚ฌ์šฉ ์˜ˆ์‹œ
// ์‚ฌ์šฉ์˜ˆ์‹œ1 : href ์ฐธ๊ณ 

<head>
    <link href =
    'http://fonts.googleapis.com/css?family=Open+Sans:400.300' rel='stylesheet' type='text/css'>
    <style type = "text/css"> h1 {font-family: 'Open Sans', sans-serif;}</style>
</head>

// ์‚ฌ์šฉ์˜ˆ์‹œ2 : url ์ฐธ๊ณ 

<style type = "text/css">
    @import url(http://fonts.googleapis.com/css?family=Open+Sans:400.300);
    h1 {font-family: 'Open Sans', sans-serif;}
</style>

4-3. font-weight

๊ธ€์ž ๊ตต๊ธฐ๋ฅผ ์„ค์ •ํ•˜๋Š” ์†์„ฑ.

  • normal - ๊ธฐ๋ณธ๊ฐ’์ด๋ฉฐ ๋ณดํ†ต ๊ตต๊ธฐ
  • bold - ๊ตต์€ ๊ตต๊ธฐ.
  • bolder - ์ƒ์†๋œ ๊ฐ’๋ณด๋‹ค ๊ตต์€ ๊ตต๊ธฐ.
  • lighter - ์ƒ์†๋œ ๊ฐ’๋ณด๋‹ค ์–‡์€ ๊ตต๊ธฐ.
  • number- ์ˆซ์ž๋กœ ๊ตต๊ธฐ๋ฅผ ์ง€์ •ํ•˜๋ฉฐ 100,200,300,400๊ณผ ๊ฐ™์€ ์ˆซ์ž๋ฅผ ์ด์šฉ.
  • initial- ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •.
  • inherit- ๋ถ€๋ชจ ์š”์†Œ์˜ ์†์„ฑ๊ฐ’์„ ์ƒ์†

5. opacity


์š”์†Œ์˜ ํˆฌ๋ช…๋„๋ฅผ ์ง€์ •
0.0 ๊ณผ 1.0 ์‚ฌ์ด์˜ ์ˆซ์ž๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋งŒ์•ฝ ๊ฐ’์ด 0.5๋ผ๋ฉด ํˆฌ๋ช…๋„๋Š” 50%์ด๋‹ค.

โœ” opacity 1์ด๋ฉด ์›์ƒ‰์— ๊ฐ€๊น๋‹ค.

๐Ÿงฒ์ฐธ๊ณ 
๊ตฌ์กฐ์  ๊ฐ€์ƒ ํด๋ž˜์Šค ์„ ํƒ์ž

์ฐธ๊ณ  : https://www.nextree.co.kr/p8468/

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