🦁_21.12.01(2) TIL

BoriΒ·2021λ…„ 12μ›” 1일
0
post-thumbnail

21λ…„ 12μ›” 01일(2)

πŸ“Ž Vending Machine with SCSS - μ½”λ“œ 리뷰

CSS/SCSS μ„ μ–Έ μˆœμ„œ κ³ λ €

  • μ§€κΈˆμ€ mixin만 μ‚¬μš©ν–ˆμ§€λ§Œ μ‘°κ±΄λ¬Έμ΄λ‚˜ 반볡문, ν•¨μˆ˜ λ˜λŠ” Javascriptκ°€ 같이 ν¬ν•¨λœλ‹€λ©΄ μ–΄μ§œν”Ό μˆœμ„œλŠ” λ°”λ€Œκ²Œ λ˜μ–΄μžˆμœΌλ―€λ‘œ 크게 κ³ λ €ν•˜μ§€ μ•Šμ•„λ„ λœλ‹€.

κΈ΄ λ³€μˆ˜λͺ…

  • 더 κ°™λ‹¨ν•˜κ²Œ μ‚¬μš©ν•˜κΈ° μœ„ν•œ λ³€μˆ˜μ˜ λ³€μˆ˜λͺ…이 길게 μž‘μ„±λ˜μ–΄ μžˆμœΌλ―€λ‘œ 일관성이 있고 κ°„κ²°ν•œ λ³€μˆ˜λͺ…을 μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.
// λ³€μˆ˜λͺ…이 λ„ˆλ¬΄ κΈΈλ‹€.
@mixin flex($direction: row, $align: center, $justify: center) {
  display: flex;
  flex-direction: $direction;
  align-items: $align;
  justify-content: $justify; 
}

지정해놓은 mixin의 λͺ¨λ“  속성을 μ‚¬μš©ν•˜μ§€ μ•Šκ³  μ•„μ£Ό μΌλΆ€λ§Œ μ‚¬μš©ν•˜κ²Œ λ˜λŠ” 경우

  • λ°˜λ³΅λ˜λŠ” 속성은 mixin으둜 μž‘μ„±ν•˜κ³  @contentλ₯Ό μ΄μš©ν•΄ μŠ€νƒ€μΌμ„ μΆ”κ°€ν•˜μ—¬ 전달

mixin의 μ΄ˆκΈ°κ°’μ„ null 지정

  • 이 κ²½μš°λ„ μœ„μ™€ 같이 @contentλ₯Ό μ΄μš©ν•˜κΈ°
@mixin fontStyle($c, $s, $w: $font-w-500, $l: null) {
  color: $c;
  font-size: $s;
  font-weight: $w;
  line-height: $l;
}

μ€‘λ³΅λ˜λŠ” μŠ€νƒ€μΌμ΄λΌλ©΄ 클래슀둜 μ„ μ–Έ

  • μ€‘λ³΅λ˜λŠ” μŠ€νƒ€μΌμ΄λΌλ©΄ mixin을 μ‚¬μš©ν•˜λŠ” 것보닀 클래슀λ₯Ό λ§Œλ“€μ–΄μ„œ μ‚¬μš©ν•˜λŠ” 것이 νš¨μœ¨μ μ΄λ‹€.
    => λ‚΄κ°€ SCSS둜 μž‘μ„±ν•œλ‹€κ³  λͺ¨λ“  것을 SCSS둜만 ν•΄κ²°ν•˜λ €κ³  ν–ˆμŒ

μ½”λ”© μ „ 체크

  • 코딩을 μ‹œμž‘ν•˜κΈ° 전에 λ””μžμΈμ„ ν™•μΈν•˜κ³  같은 μŠ€νƒ€μΌμ„ μ μš©ν•΄λ„ λ˜λŠ” 뢀뢄듀은 λ””μžμ΄λ„ˆμ™€ ν˜‘μ˜ν•΄μ„œ μˆ˜μ •
  • μž‘μ—… μ „ ν˜‘μ˜ ν›„ μ½”λ”© μ‹œμž‘ν•˜κΈ°

미디어쿼리

  • ν”„λ‘œμ νŠΈμ˜ 규λͺ¨μ— 따라, νšŒμ‚¬μ— 따라 λ˜λŠ” κ°œμΈμ— 따라 λ‹€λ₯Ό 수 μžˆλ‹€.
  • λ―Έλ””μ–΄ 쿼리λ₯Ό λΆ„λ¦¬λœ 파일 내에 μž‘μ„±
  • λ―Έλ””μ–΄ 쿼리λ₯Ό λ”°λ‘œ λͺ¨μ•„μ„œ μž‘μ„±
  • ν•΄λ‹Ή μš”μ†Œ μŠ€νƒ€μΌ λ°”λ‘œ λ‹€μŒ 쀄에 λ―Έλ””μ–΄ 쿼리 μž‘μ„± λ“± λ‹€μ–‘ν•˜λ‹€

float ν•΄μ œ 방법

  • float 속성이 λ””μžμΈμ„ μœ„ν•΄ μƒκ²¨λ‚œ μš”μ†Œκ°€ μ•„λ‹ˆκΈ° λ•Œλ¬Έμ— λ‹€λ₯Έ 방법을 μ‚¬μš©ν•˜λŠ” 것이 μ’‹λ‹€.
  • λ‹€λ₯Έ λΈŒλΌμš°μ €μ˜ ν˜Έν™˜μ„±μ„ μœ„ν•΄ float을 μ‚¬μš©ν•΄μ•Ό ν•œλ‹€λ©΄ overflow: hidden보닀 clear-fix μ‚¬μš©μ„ ꢌμž₯

λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•˜λŠ” 파일λͺ…

  • 파일λͺ…에 λŒ€λ¬Έμžλ₯Ό μ‚¬μš©ν•˜λ©΄ μ•ˆλ˜λŠ” 것은 μ•„λ‹ˆμ§€λ§Œ λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•˜λŠ” 파일λͺ…은 μ£Όμ˜ν•˜κΈ°

&:not(:first-child)

li + li {
  margin-top: 20px;
}

/* μœ„μ˜ λ°©λ²•λ³΄λ‹€λŠ” :not μ„ νƒμž μ‚¬μš©ν•˜κΈ° */
li:not(:first-child) {
  margin-top: 20px;
}
  • :not() : μ§€μ •λœ μ„ νƒμžμ— νŠΉμ •ν•œ μš”μ†Œλ₯Ό μ œμ™Έν•  경우 μ‚¬μš©
// :not selector syntax
:not(selector) {
  css declarations;
}

마무리

  • λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive 1νšŒλ… ν•΄λ³΄μžμ•„μ•„μ•„
  • 계속 λ°”μ˜κ²Œ μ˜μ‹ν•΄μ„œ νƒ€μž 치기!
  • μ½”λ“œ λ¦¬λ·°λŠ” 즐겁닀아! 이걸 μ΄λ ‡κ²Œ μž‘μ„±ν•΄λ„ λ˜λ‚˜? 의문이 λ“€μ—ˆλŠ”λ° μ†μ‹œμ›ν•˜κ²Œ ν•΄κ²°-
    • 확인받고 싢은 λΆ€λΆ„ λͺ…ν™•ν•˜κ²Œ μ „λ‹¬ν•˜κΈ°
    • μ–΄λ–€ 뢀뢄을 κ³ λ €ν–ˆλŠ”μ§€
    • μ™œ μ½”λ“œλ₯Ό μ΄λ ‡κ²Œ μ§°λŠ”μ§€
    λ“± ν™•μ‹€νžˆ μ „λ‹¬ν•˜κ³  μ½”λ“œ 리뷰 λΆ€νƒν•˜κΈ°
    => λ‚΄κ°€ κΆκΈˆν•œ 뢀뢄을 μ „λ‹¬ν–ˆμ§€λ§Œ λ‚΄μš©μ΄ λΆ€μ‘±ν–ˆλ‹€. λ˜λ„λ‘ μžμ„Ένžˆ μ„€λͺ…을 ν•˜κ³ , μ§ˆλ¬Έλ„ 미리 잘 쀀비해두기
  • λ‚˜ν•œν…Œ 주어진 μ‹œκ°„ 잘 ν™œμš©ν•΄μ•Όκ² λ‹€. 이제 멋사 ꡐ윑이 ν•œλ‹¬μ΄ μ§€λ‚¬μœΌλ‹ˆ μ μ‘μ‹œκΈ°λŠ” μ™„λ£Œν•˜κ³  효율적으둜 곡뢀해야겠닀.

0개의 λŒ“κΈ€