TIL - 20.10.16 (CSS, JS)

μ˜ˆλ‹ˆΒ·2020λ…„ 10μ›” 16일
0

TIL

λͺ©λ‘ 보기
2/25

πŸ“– CSS

JS둜 λ°”λ‘œ λ„˜μ–΄κ°€κΈ°μ— CSSλ₯Ό λ„ˆλ¬΄ μ–΄λ¬Όμ©‘ λ„˜μ–΄κ°€λŠ” 것 κ°™μ•„μ„œ display, position λ“± μ€‘μš”ν•œ κ°œλ…λ“€ λ³΅μŠ΅ν•˜λ©° 정리

πŸ“Œ display

1. block

  • μƒˆλ‘œμš΄ λΌμΈμ—μ„œ μ‹œμž‘, κ°€λ‘œν­ 전체 차지
  • width, height, margin, padding 지정
  • block λ‚΄ inline 포함 κ°€λŠ₯
  • ex) div, h1 ~ h6,p, ol, ul, li, hr, table, form

2. inline

  • 쀄 μ•ˆλ°”κΎΈκ³  λ‹€λ₯Έ μš”μ†Œμ™€ ν•œ 쀄에 μœ„μΉ˜
  • λ‚΄μš© λ„ˆλΉ„λ§ŒνΌ 차지
  • width, height, margin, padding 지정 λΆˆκ°€ (μƒν•˜μ—¬λ°±μ€ line-height)
  • inline λ‚΄ block 포함 λΆˆκ°€
  • ex) span, a, strong, img, br, input, select, textarea, button

3. inline-block

  • inline처럼 쀄 μ•ˆλ°”κΎΈκ³  λ‹€λ₯Έ μš”μ†Œμ™€ ν•œ 쀄에 μœ„μΉ˜
  • block처럼 width, height, margin, padding 지정 κ°€λŠ₯
    (μƒν•˜μ—¬λ°± margin, line-height)
  • λ‚΄μš© λ„ˆλΉ„λ§ŒνΌ 차지

πŸ“Œ position

1. static

  • position λ―Έμ„€μ •μ‹œ κΈ°λ³Έκ°’
  • λΆ€λͺ¨ μš”μ†Œ μœ„μΉ˜ κΈ°μ€€
  • top, bottom, left, right μ‚¬μš© λΆˆκ°€

2. relative

  • static으둜 μ„€μ • μ‹œμ˜ μœ„μΉ˜(κΈ°λ³Έμœ„μΉ˜)λ₯Ό κΈ°μ€€μœΌλ‘œ top, bottom, left, right μ‚¬μš©ν•˜μ—¬ μœ„μΉ˜ μ‘°μ •

3. absolute

  • λΆ€λͺ¨, κ°€μž₯ κ°€κΉŒμš΄ 쑰상 μš”μ†Œ κΈ°μ€€μœΌλ‘œ top, bottom, left, right μ‚¬μš©ν•˜μ—¬ μœ„μΉ˜ μ‘°μ •
    * 단, κΈ°μ€€μš”μ†Œκ°€ static인 κ²½μš°λŠ” μ œμ™Έ. relative, absolute, fixedκ°€ 적용된 λΆ€λͺ¨ or κ°€μž₯ κ°€κΉŒμš΄ 쑰상 μš”μ†Œλ₯Ό κΈ°μ€€μœΌλ‘œ 함
  • absolute 일 λ•Œ, width 지정해야함
  • λΆ€λͺ¨, 쑰상 λͺ¨λ‘ static 이면, body κΈ°μ€€μœΌλ‘œ μœ„μΉ˜

4. fixed

  • top, bottom, left, right μ‚¬μš©ν•˜μ—¬ μœ„μΉ˜ μ‘°μ • (λΆ€λͺ¨μš”μ†Œ 관계 μ—†μŒ)
  • μŠ€ν¬λ‘€λ˜λ„ 항상 같은 곳에 μœ„μΉ˜ (λ„€λΉ„κ²Œμ΄μ…˜ λ°” κ³ μ •ν•  λ•Œ μ’‹μŒ!)
  • fixed 일 λ•Œ, width 지정해야함

πŸ“Œ z-index

  • 큰 κ°’μΌμˆ˜λ‘ ν™”λ©΄ 전면에 좜λ ₯됨
    * 단, position: static 이외인 μš”μ†Œλ§Œ

πŸ“Œ float

  • width μ—†λŠ” block μš”μ†ŒλŠ” κ°€λ‘œν­ 100% μ°¨μ§€ν•˜λŠ”λ°, float μ„ μ–Έλ˜λ©΄ widthκ°€ λ‚΄μš©μ— 맞게 μ΅œμ†Œν™”λ¨

πŸ“Œ CSS 적용 μš°μ„ μˆœμœ„ (Cascading)

1. μ€‘μš”λ„

λ‹€μŒκ³Ό 같은 μˆœμ„œλ‘œ μš°μ„ μˆœμœ„ 달라짐

  1. head μš”μ†Œ λ‚΄μ˜ style μš”μ†Œ
  2. head μš”μ†Œ λ‚΄μ˜ style μš”μ†Œ λ‚΄μ˜ @import λ¬Έ
  3. <link> 둜 μ—°κ²°λœ CSS 파일
  4. <link> 둜 μ—°κ²°λœ CSS 파일 λ‚΄μ˜ @import λ¬Έ
  5. λΈŒλΌμš°μ € λ””ν΄νŠΈ μŠ€νƒ€μΌμ‹œνŠΈ

2. λͺ…μ‹œλ„

!important > 인라인 μŠ€νƒ€μΌ > 아이디 μ„ νƒμž > 클래슀/μ–΄νŠΈλ¦¬λ·°νŠΈ/가상 μ„ νƒμž > νƒœκ·Έ μ„ νƒμž > 전체 μ„ νƒμž > μƒμœ„ μš”μ†Œμ— μ˜ν•΄ μƒμ†λœ 속성

3. μ„ μ–Έ μˆœμ„œ

λ‚˜μ€‘μ— μ„ μ–Έλœ μŠ€νƒ€μΌμ΄ μš°μ„  적용됨

πŸ“Œ transition

CSS ν”„λ‘œνΌν‹° κ°’ λ³€ν™”κ°€ 일정 μ‹œκ°„μ— 걸쳐 μΌμ–΄λ‚˜λ„λ‘ ν•˜λŠ” 것
μ›€μ§μ΄λŠ” νŽ˜μ΄μ§€ λ§Œλ“€ λ•Œ λ‹€μ‹œ κ³΅λΆ€ν•΄λ³΄μž



πŸ“– JS

JS λŠ” κΈ°μ–΅ν•  μ‚¬ν•­λ§Œ μ μ–΄λ‘μž

κ°„λ‹¨ν•œ κ±° μ—°μŠ΅ν•  λ•ŒλŠ” html파일 body νƒœκ·Έ 내에 script νƒœκ·Έ 내뢀에 JS μž‘μ„±ν•΄λ„λ¨

πŸ“Œ λ³€μˆ˜

var : λ³€μˆ˜ μ„ μ–Έ

πŸ“Œ 비ꡐ

== : 동등 μ—°μ‚°μž
=== : 데이터 ν˜•κΉŒμ§€ μ™„λ²½ν•˜κ²Œ 같을 λ•Œ

== 보단 === μ“°λŠ” 것이 μ •ν™•ν•˜λ―€λ‘œ ===을 μ‚¬μš©ν•˜μž

πŸ“Œ λ°°μ—΄

λ°°μ—΄μ˜ μ‘°μž‘

1. μΆ”κ°€

var li = ['a','b','c'] μžˆμ„ λ•Œ,

  • li.push(μΆ”κ°€ν•  μ›μ†Œ) : λ°°μ—΄ 맨 끝에 μ›μ†Œ μΆ”κ°€
  • li.concat(뢙일 λ°°μ—΄) : λ°°μ—΄ 맨 끝에 볡수의 μ›μ†Œ μΆ”κ°€
  • li.unshift(μΆ”κ°€ν•  μ›μ†Œ) : λ°°μ—΄ μ‹œμž‘μ μ— μ›μ†Œ μΆ”κ°€ (κΈ°μ‘΄κ±° ν•˜λ‚˜μ”© λ°€μ–΄)
  • li.splice(x, y, μΆ”κ°€ν•  μ›μ†Œ) : 첫번째 μΈμžμ— ν•΄λ‹Ήν•˜λŠ” μ›μ†ŒλΆ€ν„° λ‘λ²ˆμ§Έ μΈμžμ— ν•΄λ‹Ήν•˜λŠ” μ›μ†Œμ˜ 숫자만큼 λ°°μ—΄μ—μ„œ μ œκ±°ν•˜κ³ , μ„Έλ²ˆμ§Έ μΈμžλΆ€ν„° μ „λ‹¬λœ μΈμžλ“€μ„ 첫번째 인자의 μ›μ†Œ 뒀에 μΆ”κ°€
    λ§Œμ•½, li의 'b' 뒀에 'B' μΆ”κ°€ν•˜κ³  μ‹Άλ‹€λ©΄ li.splice(2, 0, 'B');

2. 제거

var li = ['a', 'b', 'c', 'd', 'e'] μžˆμ„ λ•Œ,

  • li.shift() : λ°°μ—΄μ˜ 첫번째 μ›μ†Œ 제거
  • li.pop() : λ°°μ—΄ λ§ˆμ§€λ§‰ μ›μ†Œ 제거

3. μ •λ ¬

var li = ['c', 'e', 'a', 'b', 'd'] μžˆμ„ λ•Œ,

  • li.sort() : μˆœμ„œλŒ€λ‘œ μ •λ ¬ (κ²°κ³ΌλŠ” a,b,c,d,e)
  • li.reverse() : μ—­μˆœμœΌλ‘œ μ •λ ¬ (κ²°κ³ΌλŠ” e,d,c,b,a)

πŸ“Œ 객체(dictionary)

νŒŒμ΄μ¬μ—μ„œ λ”•μ…”λ„ˆλ¦¬κ°€ JSμ—μ„œλŠ” 객체에 ν•΄λ‹Ή

κ°μ²΄μ—λŠ” 객체, ν•¨μˆ˜ 등도 담을 수 μžˆλ‹€.

πŸ“Œ 기타

1. μ½˜μ†”μ—μ„œ 디버깅

HTML에 ν¬ν•¨λœ JS μ½”λ“œλ₯Ό μ½˜μ†”μ°½μ—μ„œ λ””λ²„κΉ…ν•˜κΈ°

F12 눌러 κ°œλ°œμžλ„κ΅¬ -> Sources -> ν•΄λ‹Ή html 파일 -> μ—λŸ¬μ§€μ ν™•μΈ -> 쀑단점 κ±Έκ³  λ‹€μ‹œ 돌리며 μ–΄λŠ λΆ€λΆ„μ—μ„œ μ—λŸ¬ λ°œμƒν•˜λŠ”μ§€ 확인 -> μ—λŸ¬ μˆ˜μ • ν›„ μž¬ν™•μΈ

2. HTML body μš”μ†Œ κ°€μž₯ μ•„λž˜μ— JS μœ„μΉ˜μ‹œν‚€κΈ°

  • νŽ˜μ΄μ§€ λ‘œλ”© μ‹œκ°„ 단좕 : HTML μš”μ†Œλ“€μ΄ 슀크립트 λ‘œλ”© 지연에 영ν–₯ 받지 μ•ŠμŒ
  • DOM μ™„μ„± μ „, JSκ°€ DOM μ‘°μž‘ν•˜λ©΄ μ—λŸ¬ λ°œμƒ

0개의 λŒ“κΈ€