[TIL] 210831

Lee SyongΒ·2021λ…„ 8μ›” 31일
0

TIL

λͺ©λ‘ 보기
13/204
post-thumbnail

πŸ“ 였늘 ν•œ 것

  1. CSS 직접 μž‘μ„±ν•΄λ³΄κΈ° (μ΄μ–΄μ„œ)

  2. λ‚΄κ°€ μ§  μ½”λ“œμ™€ κ°•μ˜ λ‚΄μš© 비ꡐ·뢄석 (μ΄μ–΄μ„œ)


πŸ”Ž κ°•μ˜λ₯Ό 톡해 배운 것

1. navbar

  • color(폰트 색깔) 속성을 #navbar에 μ§€μ •ν•΄μ„œ ν•œ λ²ˆμ— ν•˜μœ„ μš”μ†ŒκΉŒμ§€ μ „λΆ€ 적용될 수 μžˆλ„λ‘ ν–ˆλ‹€.

  • flexbox ꡐ차좕 쀑앙 μ •λ ¬ β†’ align-items: center πŸ”₯πŸ”₯πŸ”₯πŸ”₯πŸ”₯

  • navbar-menu-item, 즉 <li>λ“€ 사이λ₯Ό λ„μš°λ €λ©΄ justify-content: space-between 말고 κ·Έλƒ₯ marginμ΄λž‘ padding 값을 λ„£μ–΄μ£Όλ©΄ λœλ‹€.

  • text-decoration: noneκ³Ό list-style: none처럼 항상 λ˜‘κ°™μ΄ μ μš©ν•  속성듀은 맀번 classλ§ˆλ‹€ 지정해주지 말고, μ•„μ˜ˆ /* universal tags */에 a와 li νƒœκ·Έλ₯Ό λͺ…μ‹œν•΄μ„œ 지정해둬라.

  • ꡬ글 폰트λ₯Ό body에 지정해쀬닀.

  • 기본적으둜 ν…μŠ€νŠΈ μœ„μ— 마우슀 μ»€μ„œλ₯Ό μ˜¬λ €λ„ κ·Έ λͺ¨μ–‘이 λ³€ν•˜μ§€ μ•Šλ„λ‘ ν•˜κΈ° μœ„ν•΄ body에 cursor: defaultλ₯Ό 지정해쀬닀.

  • 단, li μœ„μ— 마우슀 μ»€μ„œλ₯Ό μ˜¬λ Έμ„ λ•ŒλŠ” 손 λͺ¨μ–‘μœΌλ‘œ λ°”λ€Œλ„λ‘ cursor: pointerλ₯Ό 지정해쀬닀.

  • border-radiusλŠ” 이 λ¬Έμ„œ λ‚΄μ—μ„œλŠ” 항상 λ™μΌν•œ 값을 μ‚¬μš©ν•  것이기 λ•Œλ¬Έμ— :root에 λ³€μˆ˜κ°’μ„ μ§€μ •ν•΄μ£Όμ—ˆλ‹€.

  • class="navbar-menu-item active"λ₯Ό κ°€λ¦¬ν‚€λŠ” CSS μ„ νƒμžλŠ” navbar-menu-item.active이닀. 이 κ²½μš°μ— .active μ•žμ—μ„œ 띄어쓰기 ν•˜λ©΄ μ•ˆ λœλ‹€.

  • border-radius 속성은 .active와 :hoverμ—μ„œ λ°˜λ³΅λ˜λ―€λ‘œ μ•„μ˜ˆ .nav-menu-item에 ν•œ 번만 써주도둝 ν•œλ‹€.

2. home

  • 원 λͺ¨μ–‘μœΌλ‘œ λ§Œλ“  ν”„λ‘œν•„ 이미지λ₯Ό μ›ν•˜λŠ” μœ„μΉ˜κ°€ 보이도둝 μ‘°μ •ν•˜λŠ” 법을 λͺ¨λ₯΄κ² λ‹€. imgλ₯Ό κ°μ‹ΈλŠ” div νƒœκ·Έλ₯Ό λ§Œλ“€μ–΄μ„œ μ΄λ―Έμ§€μ˜ 쀑앙이 보이도둝 ν–ˆμœΌλ‚˜ λ‚΄κ°€ μ›ν•˜λŠ” 건 μ΄λ―Έμ§€μ˜ 였λ₯Έμͺ½μ΄ λ³΄μ΄λŠ” 것이닀.

  • λͺ¨λ“  button에 μ μš©μ‹œν‚¬ 속성듀은 /* universal tags */에 지정해 두도둝 ν•œλ‹€.

3. about

  • 개발자 도ꡬλ₯Ό μ‚¬μš©ν•΄λ„ 그림에 μˆ˜μΉ˜λŠ” μ•ˆ λ‚˜μ˜€λ©΄μ„œ μš”μ†Œ 검색 μ‹œμ—λ§Œ μ£Όν™©μƒ‰μœΌλ‘œ λœ¨λŠ” margin의 경우, ν•΄λ‹Ή μš”μ†Œκ°€ block 레벨 μš”μ†Œμ΄κΈ° λ•Œλ¬Έμ— μžλ™μœΌλ‘œ margin 값이 μ„€μ •λ˜μ–΄ μžˆλŠ” 것이닀. 이 κ²½μš°μ—λŠ” 쒌우 margin에 auto 값을 쀌으둜써 μˆ˜ν‰ 쀑앙 정렬을 ν•  수 μžˆλ‹€.

  • /* universal tags */에 <section> μš”μ†Œ μ„ νƒμžλ₯Ό μΆ”κ°€ν•΄ κ³΅ν†΅μ μœΌλ‘œ μ μš©ν•  속성듀을 지정해쀬닀. λΈŒλΌμš°μ € 창이 컀지면 μ½˜ν…μΈ κ°€ λ„ˆλ¬΄ νΌμ§€λŠ” 것을 막기 μœ„ν•΄ μ§€μ •ν•˜λŠ” max-width도 κ·Έ 쀑 ν•˜λ‚˜μ΄λ‹€.

  • λ‚˜λŠ” positionκ³Ό transform 속성을 μ΄μš©ν•΄μ„œ μ•„μ΄μ½˜(font awesome)을 μˆ˜μ§Β·μˆ˜ν‰ 쀑앙 μ •λ ¬μ‹œμΌ°λŠ”λ°, κ°•μ˜μ—μ„œλŠ” line-height에 height κ°’κ³Ό λ™μΌν•œ 값을 지정해 쀑앙 μ •λ ¬μ‹œμΌ°λ‹€.

  • 원 μ•ˆμ˜ μ•„μ΄ν…œμ— 마우슀 μ»€μ„œλ₯Ό κ°€μ Έκ°€λ©΄ μ•„μ΄ν…œμ΄ μ»€μ§€λ©΄μ„œ λΆ„ν™μƒ‰μœΌλ‘œ λ°”λ€Œμ–΄ λŒμ•„κ°€λ„λ‘ 효과λ₯Ό μ£Όμ—ˆλ‹€.

  • a:hover β†’ a에 μ»€μ„œλ₯Ό λŒ”μ„ λ•Œ a
    a b:hover β†’ a μ•ˆμ˜ b에 μ»€μ„œλ₯Ό λŒ”μ„ λ•Œ b
    a:hover b β†’ a에 μ»€μ„œλ₯Ό λŒ”μ„ λ•Œ b

  • --animation-duration: 300msλ₯Ό μΆ”μ²œν•œλ‹€.

4. skills

  • max-widthλŠ” λͺ¨λ“  section이 μ•„λ‹ˆλΌ μ μš©ν•˜κ³  싢은 sectionμ—λ§Œ λ”°λ‘œ μ“Έ 수 μžˆλ„λ‘ section-container 클래슀λ₯Ό λ§Œλ“€μ–΄ 지정해뒀닀. skills μ„Ήμ…˜μ˜ 경우 λΈŒλΌμš°μ € 창이 컀짐에 따라 배경만 λŠ˜μ–΄λ‚˜κ³  μ½˜ν…μΈ λŠ” 일정 크기 이상 λŠ˜μ–΄λ‚˜μ§€ μ•Šλ„λ‘ HTML의 #skills μ•ˆμ— .section-containerλ₯Ό λ”°λ‘œ λ§Œλ“€μ–΄ λ‚˜λ¨Έμ§€ μ½˜ν…μΈ λ₯Ό κ°μ‹Έμ£Όμ—ˆλ‹€.

  • .skillset-left / right의 width: 60% /40% β†’ flex-basis: 60% / 40%

  • πŸ™‹β€β™€οΈ 질문
    div.skillset μ•ˆμ— h3.skillset-title이 μžˆλ‹€. div.skillset에 color 속성을 μ§€μ •ν–ˆμ„ λ•Œ div.description μ•ˆμ˜ span듀은 λͺ¨λ‘ 색이 λ³€ν–ˆλŠ”λ° μ™œ h3 색깔은 λ³€ν•˜μ§€ μ•ŠλŠ” 걸까? κ°•μ˜μ—μ„œλ„ μ•ˆ λ³€ν•΄μ„œ λ”°λ‘œ h3 색깔을 μ§€μ •ν•΄μ£Όμ—ˆλŠ”λ° μ™œ 이런 건지 λͺ¨λ₯΄κ² λ‹€.

  • λ‚˜λŠ” calc()ν•¨μˆ˜λ₯Ό μ΄μš©ν•΄ .skill-value의 width 값을 각각 class λ³„λ‘œ μ§€μ •ν•΄μ£Όμ—ˆλ‹€. κ°•μ˜μ—μ„œλŠ” 이λ₯Ό CSSμ—μ„œ μ •μ˜ν•˜μ§€ 말고 HTML νƒœκ·Έμ— 인라인 λ°©μ‹μœΌλ‘œ μ μš©ν•˜μ˜€λ‹€. (μ΄λŠ” 데이터듀을 λ”°λ‘œ μΆ”μΆœν•΄ jsonμ—μ„œ κ΄€λ¦¬ν•˜λ„λ‘ ν•˜κ³ , jsonμ—μ„œ λ™μ μœΌλ‘œ λ°›μ•„μ˜¨ 데이터듀을 HTML μ½”λ“œλ‘œ λ³€ν™˜ν•΄ μžλ™ 생성할 수 μžˆλ„λ‘ ν•΄μ€€λ‹€.)

5. work

  • ν…μŠ€νŠΈλ₯Ό 이미지 쀑앙에 μœ„μΉ˜μ‹œν‚€κ³ μž ν•  λ•Œ, ν…μŠ€νŠΈκ°€ 이미지에 κ°€λ €μ„œ μ•ˆ 보이면 ν…μŠ€νŠΈμ— z-index: 1을 μ μš©ν•  수 μžˆλ‹€.

  • 이미지에 마우슀 μ»€μ„œλ₯Ό κ°€μ Έλ‹€ λŒ€λ©΄, 이미지가 μ–΄λ‘‘κ²Œ λ³€ν•˜λ©΄μ„œ μˆ¨μ–΄ 있던 ν…μŠ€νŠΈκ°€ 보이도둝 ν•˜λŠ” 방법

방법 1 (λ‚΄κ°€ μ“΄ 방법: ν…μŠ€νŠΈλŠ” 투λͺ…도에 영ν–₯ μ•ˆ λ°›μŒ)

.text {
  opacity: 0;
}

img:hover .text {
  opacity: 1;
  background: rgba(0, 0, 0, .7);
}

방법 2 (κ°•μ˜ λ‚΄μš©: ν…μŠ€νŠΈλ„ 같이 투λͺ…해짐)

.text {
  background: black;
  opacity: 0;
}

img:hover .text {
  opacity: 0.7;
}
  • λ‚˜λŠ” λ²„νŠΌμ—μ„œ hover μƒνƒœλ§Œ λ”°λ‘œ μΆ”κ°€ν–ˆλŠ”λ° κ°•μ˜μ—μ„œλŠ” 첫 번째 λ²„νŠΌμ΄ μ•„μ˜ˆ μ„ νƒλœ κ²ƒμœΌλ‘œ 보이도둝 꾸며쀬닀.

  • λ‚˜λŠ” λ²„νŠΌμ˜ 숫자λ₯Ό κΎΈλ°€ λ•Œ 원이 μ œλŒ€λ‘œ 보여지도둝 μΌμ’…μ˜ 꼼수둜 HTML의 span νƒœκ·Έμ— κ°€μ„œ μ½˜ν…μΈ  λΆ€λΆ„ μ•žλ’€λ‘œ & nbspλ₯Ό λ„£μ—ˆλ‹€. κ°•μ˜μ—μ„œλŠ” λ¨Όμ € display: inline-block을 μ μš©ν•œ ν›„ width와 heightλ₯Ό μ§€μ •ν•˜κ³ , 숫자λ₯Ό λ™κ·ΈλΌλ―Έμ˜ κ°€μš΄λ°μ— λ§žμΆ”κΈ° μœ„ν•΄ line-height = height 방법을 μ‚¬μš©ν–ˆλ‹€.

  • λ‚˜λŠ” λ²„νŠΌμ˜ 숫자λ₯Ό ν‰μƒμ‹œμ— μ•ˆ 보이게 ν•˜κΈ° μœ„ν•΄ font-size: 0을 μ‚¬μš©ν–ˆμ§€λ§Œ, κ°•μ˜μ—μ„œλŠ” opacity: 0을 μ‚¬μš©ν–ˆλ‹€.

  • λ‚˜λŠ” λ²„νŠΌμ˜ 숫자λ₯Ό ν‰μƒμ‹œμ— μ•ˆ 보이닀가 마우슀 μ˜€λ²„ μ‹œ λ³΄μ΄κ²Œλ”λ§Œ λ§Œλ“€μ—ˆμ§€λ§Œ, κ°•μ˜μ—μ„œλŠ” μœ„μ—μ„œ μ•„λž˜λ‘œ λ²„νŠΌμ΄ λ‚΄λ €μ˜€λŠ” μ• λ‹ˆλ©”μ΄μ…˜ 효과λ₯Ό μΆ”κ°€ν–ˆλ‹€.

  • 이미지가 μ»¨ν…Œμ΄λ„ˆλ³΄λ‹€ 컀지지 μ•Šκ²Œ ν•˜κΈ° μœ„ν•΄ max-width와 max-heightλ₯Ό 100%둜 지정해쀬닀.

  • λ‚˜λŠ” project-description을 positionκ³Ό translate()을 μ΄μš©ν•΄ 쀑앙 μ •λ ¬ ν•΄μ£Όμ—ˆλŠ”λ°, κ°•μ˜μ—μ„œλŠ” positionκ³Ό justify-contentλ₯Ό μ΄μš©ν•΄ 쀑앙 μ •λ ¬ν–ˆλ‹€.

  • project-titleκ³Ό project-description 사이에 ::after μ΄μš©ν•΄μ„œ γ…‘ λ₯Ό λ„£μ–΄μ£Όμ—ˆλ‹€.
    β€» :afterκ³Ό 같은 가상 μš”μ†ŒλŠ” inline μš”μ†Œμ΄κΈ° λ•Œλ¬Έμ— νŠΉμ • μ˜μ—­μ„ κ°–κΈ° μœ„ν•΄μ„œλŠ” block ν˜Ήμ€ inline-block μš”μ†Œλ‘œ λ§Œλ“€μ–΄μ£Όμ–΄μ•Ό ν•œλ‹€.

  • project에 마우슀 μ˜€λ²„ μ‹œ project-description이 살짝 μ˜¬λΌμ˜€λŠ” λŠλ‚Œμ΄ 듀도둝 μ• λ‹ˆλ©”μ΄μ…˜ νš¨κ³Όκ°€ λ‚˜νƒ€λ‚˜λ„λ‘ ν•΄μ£Όμ—ˆλ‹€.

  • transform: translateY(10px); = top: 10px;

6. testimonials

νŠΉλ³„νžˆ μ—†μ—ˆλ‹€. clear.

7. contact

νŠΉλ³„νžˆ μ—†μ—ˆλ‹€. clear.

8. λ°˜μ‘ν˜• nav

  • .toggle-btn에 position: absoluteλ₯Ό μ μš©ν•œ ν›„ right, top을 지정해 μœ„μΉ˜λ₯Ό μ‘°μ •ν•΄μ£Όμ—ˆλ‹€.

✨ 내일 ν•  것

  1. 미디어쿼리λ₯Ό μ΄μš©ν•΄ λ°˜μ‘ν˜• μ›Ή λ§Œλ“€κΈ°

  2. λ‚΄κ°€ μ§  μ½”λ“œμ™€ κ°•μ˜ λ‚΄μš© 비ꡐ·뢄석 (μ΄μ–΄μ„œ)

  3. μžλ°”μŠ€ν¬λ¦½νŠΈ μž…λ¬Έ

profile
λŠ₯λ™μ μœΌλ‘œ μ‚΄μž, ν–‰λ³΅ν•˜κ²ŒπŸ˜

0개의 λŒ“κΈ€