[TIL] 210828

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

TIL

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

πŸ“ 였늘 ν•œ 것

  1. λ‚΄κ°€ μ§  HTML μ½”λ“œμ™€ κ°•μ˜ λ‚΄μš© 비ꡐ·뢄석

  2. CSS ν•„μˆ˜ κ°œλ… 볡슡


πŸ“š 배운 것

πŸ”Ž HTML


πŸ“Œ 1~3은 μ—¬κΈ° μ°Έκ³ 

πŸ“Œ 각 sectionλ§ˆλ‹€ κ³΅ν†΅μ μœΌλ‘œ 지적받은 것듀

  • ν™•μ‹€ν•˜κ²Œ κ΅¬λ³„λ˜λŠ” 각 section듀에 class λŒ€μ‹  μœ μΌλ¬΄μ΄ν•œ idλ₯Ό 뢀여해라.

  • classλ₯Ό BEM κ·œμΉ™μ— 따라 μž‘μ„±ν•΄λΌ. 단, λ°˜λ³΅λ˜λŠ” 것듀이 μžˆλŠ”μ§€ ν™•μΈν•˜κ³  효율적으둜 λΆ€μ—¬ν•΄μ•Ό ν•œλ‹€. (λ‚˜λŠ” μΌ€λ°₯ 방식을 따라야 ν•΄μ„œ _은 μ‚¬μš©ν•  수 μ—†κΈ° λ•Œλ¬Έμ— -만 μ¨μ„œ μˆ˜μ •ν–ˆλ‹€.)

  • h1, h2, h3 νƒœκ·Έλ₯Ό μ“Έ 곳을 κ΅¬λΆ„ν•΄μ„œ μ‚¬μš©ν•΄λΌ.

4. section.skills

  • κ°•μ˜μ—μ„œ μ—¬νƒœκΉŒμ§„ λͺ¨λ“  sectionμ—μ„œ <h1>에 title 클래슀λ₯Ό, <p>에 description 클래슀λ₯Ό λΆ€μ—¬ν–ˆλŠ”λ° 이번 sectionμ—μ„œλŠ” κ·ΈλŸ¬μ§€ μ•Šμ•˜λ‹€.

  • λ‚˜λŠ” skillset을 총 3개의 λ°•μŠ€λ‘œ λ‚˜λˆ΄λŠ”λ° κ°•μ˜μ—μ„œλŠ” 크게 left, right둜 λ‚˜λˆ΄λ‹€.

  • skill 이름과 μ§„λ„μœ¨μ„ 각각 μΌμ°μ„ μƒμ—μ„œ μ™Όμͺ½ μ •λ ¬κ³Ό 였λ₯Έμͺ½ 정렬이 λ˜μ–΄ μžˆλŠ” κ²ƒμœΌλ‘œ 보고 <span> νƒœκ·Έλ₯Ό μ‚¬μš©ν–ˆλ‹€.

  • πŸ™‹β€β™€οΈ 질문
    tools-list와 etc λΆ€λΆ„μ—μ„œ <li> νƒœκ·Έ μ•ˆμ— <span> νƒœκ·Έλ₯Ό λ„£μ–΄μ€€ μ΄μœ κ°€ 뭘까?

5. section.work

  • λ‚˜λŠ” <nav>라고 μƒκ°ν–ˆλŠ”λ° <button>μ΄μ—ˆλ‹€. 혼자 μ½”λ”©ν•˜λ©΄μ„œλ„ 이 뢀뢄이 제일 μ•„λ‹Œ κ±° κ°™μ•˜λŠ”λ° botton은 생각을 λͺ» ν–ˆλ‹€. μ§€κΈˆ 보면 이걸 μ–΄λ–»κ²Œ nav둜 μƒκ°ν–ˆλ‚˜ 싢을 만큼 λˆ„κ°€ 봐도 button인 것...

  • project 사진에 마우슀λ₯Ό κ°€μ Έλ‹€ λŒ€λ©΄ project 정보가 뜨고, project 사진을 λˆ„λ₯΄λ©΄ github으둜 μ΄λ™ν•˜λ„λ‘ λ§Œλ“€μ—ˆλ‹€.

6. section.testimonial

  • 말풍선(div.testimonial-speechBubble)을 생각 λͺ» ν–ˆλ‹€.

7. section.contact

  • 각 sectionμ—μ„œ κ³΅ν†΅μ μœΌλ‘œ 지적받은 사항듀을 λ˜‘κ°™μ΄ λͺ…심할 것.

πŸ”Ž CSS


1. box-sizing

  • content-box : width와 heightλ₯Ό 계산할 λ•Œ μ½˜ν…μΈ λ§Œμ„ κ³ λ €ν•œλ‹€

  • border-box box : width와 heightλ₯Ό 계산할 λ•Œ border와 paddingκΉŒμ§€ κ³ λ €ν•œλ‹€

2. position

전에 μž‘μ„±ν–ˆλ˜ 필기에 κ°•μ˜λ₯Ό ν† λŒ€λ‘œ λ‚΄μš© μΆ”κ°€

1) postion: static;

(1) κΈ°λ³Έκ°’(=μœ„μΉ˜κ°€ μ§€μ •λ˜μ–΄ μžˆμ§€ μ•Šλ‹€)

(2) κ°€μž₯ μœ„ & κ°€μž₯ μ™Όμͺ½μœΌλ‘œ λ°°μΉ˜λœλ‹€

(3) top, left, bottom, right 값을 λ¬΄μ‹œν•œλ‹€

2) position: relative;

(1) μ›λž˜ μžˆμ–΄μ•Ό ν•  μœ„μΉ˜(κΈ°λ³Έκ°’ static μƒνƒœ)λ₯Ό κΈ°μ€€μœΌλ‘œ μƒλŒ€μ μœΌλ‘œ μœ„μΉ˜κ°€ λ³€κ²½λœλ‹€

(2) top, right, bottom, left 값을 μ£Όμ–΄μ•Όλ§Œ μœ„μΉ˜ 변경이 μΌμ–΄λ‚œλ‹€

top, right, bottom, left: 기쀀이 λ˜λŠ” κ³³μ—μ„œ μ–Όλ§ˆλ§ŒνΌ 떨어진 μœ„μΉ˜μΈμ§€ λ‚˜νƒ€λ‚Έλ‹€
ex) left: 200px; 기쀀이 λ˜λŠ” κ³³(left)λ‘œλΆ€ν„° '였λ₯Έμͺ½μœΌλ‘œ' 200px 떨어진 κ³³

(3) μ›λž˜ 있던 곡간이 μœ μ§€λœλ‹€. λ”°λΌμ„œ μ£Όλ³€μ—μ„œ ν•¨κ»˜ 있던 μ•„μ΄ν…œλ“€μ˜ μž¬λ°°μΉ˜λŠ” μΌμ–΄λ‚˜μ§€ μ•ŠλŠ”λ‹€.

3) position: absolute;

(1) κ°€μž₯ κ°€κΉŒμš΄, μœ„μΉ˜κ°€ μ§€μ •λœ, 쑰상 μš”μ†Œλ₯Ό κΈ°μ€€μœΌλ‘œ μƒλŒ€μ μœΌλ‘œ μœ„μΉ˜κ°€ λ³€κ²½λœλ‹€

  • μœ„μΉ˜κ°€ μ§€μ •λœ = static(x) / relative, fixed, absolute(o)
  • μ‘°μƒμš”μ†Œ = μƒμœ„ μš”μ†Œ βŠƒ λΆ€λͺ¨ μš”μ†Œ

(2) 쑰상 μš”μ†Œκ°€ ν•˜λ‚˜λ„ μ—†κ±°λ‚˜ μœ„μΉ˜κ°€ μ§€μ •λœ 쑰상 μš”μ†Œκ°€ μ—†λ‹€λ©΄, λ³Έλ¬Έ(상단, μ™Όμͺ½ 0, 0 κ°’)을 κΈ°μ€€μœΌλ‘œ μœ„μΉ˜κ°€ λ³€κ²½λœλ‹€

(3) μ›λž˜ 있던 κ³΅κ°„μ—μ„œ 쏙 λΉ μ Έλ‚˜μ˜¨λ‹€. λ”°λΌμ„œ μ£Όλ³€μ—μ„œ ν•¨κ»˜ 있던 μ•„μ΄ν…œλ“€μ˜ μž¬λ°°μΉ˜κ°€ μΌμ–΄λ‚œλ‹€.

(4) 크기가 μžμ‹ μ˜ μ½˜ν…μΈ λ§Œ 해진닀. λ”°λΌμ„œ ν•„μš”ν•˜λ‹€λ©΄ width, height 값을 μ„€μ •ν•΄μ•Ό ν•œλ‹€

4) position: fixed;

(1) viewport(ν™”λ©΄μƒμ˜ ν‘œμ‹œ μ˜μ—­)λ₯Ό κΈ°μ€€μœΌλ‘œ μƒλŒ€μ μœΌλ‘œ μœ„μΉ˜κ°€ μ§€μ •λœλ‹€. 즉, μŠ€ν¬λ‘€μ„ 움직여도 μœ„μΉ˜κ°€ λ³€ν•˜μ§€ μ•ŠλŠ”λ‹€.

(2) top, right, bottom, left 값을 쀄 수 μžˆλ‹€.

(3) 크기가 μžμ‹ μ˜ μ½˜ν…μΈ λ§Œ 해진닀. λ”°λΌμ„œ ν•„μš”ν•˜λ‹€λ©΄ width, height 값을 μ„€μ •ν•΄μ•Ό ν•œλ‹€.

5) position: sticky;

(1) λΆ€λͺ¨μš”μ†Œ box(scroll λ°•μŠ€)λ₯Ό κΈ°μ€€μœΌλ‘œ μƒλŒ€μ μœΌλ‘œ μœ„μΉ˜κ°€ μ§€μ •λœλ‹€. 즉, μŠ€ν¬λ‘€μ„ μ›€μ§μ—¬μ„œ κ·Έ λΆ€λͺ¨μš”μ†Œκ°€ 화면상에 보이지 μ•Šκ²Œ 되면 sticky 속성값이 μ§€μ •λœ μš”μ†Œλ„ 더 이상 보이지 μ•Šκ²Œ λœλ‹€.

(2) top, right, bottom, left 값을 μ£Όμ–΄μ•Όλ§Œ μœ„μΉ˜ 변경이 μΌμ–΄λ‚œλ‹€

3. 쀑앙 μ •λ ¬

1) 쀑앙 μ •λ ¬ν•˜κ³  싢은 μš”μ†Œμ— margin: auto; μ μš©ν•˜κΈ°

  • block 레벨 μš”μ†Œλ₯Ό 쀑앙 μ •λ ¬ν•  λ•Œ μ‚¬μš©
  • μˆ˜ν‰ 쀑앙 μ •λ ¬λ§Œ κ°€λŠ₯ (수직x)

2) 쀑앙 μ •λ ¬ν•˜κ³  싢은 μš”μ†Œμ˜ λΆ€λͺ¨μš”μ†Œμ— text-align: center; μ μš©ν•˜κΈ°

  • μ΄λ•Œ 쀑앙 μ •λ ¬ν•˜κ³ μž ν•˜λŠ” μš”μ†ŒλŠ” inline ν˜Ήμ€ inline-block 레벨 μš”μ†Œμ—¬μ•Όλ§Œ ν•œλ‹€.(μ˜ˆμ™Έ: ν…μŠ€νŠΈ 블둝 레벨 μš”μ†Œ) block 레벨 μš”μ†ŒλŠ” 자체 margin κ°’ λ•Œλ¬Έμ— κ·Έ λΆ€λͺ¨μš”μ†Œμ— 쀑앙 μ •λ ¬ 속성을 μ μš©ν•΄λ„ μœ„μΉ˜ λ³€ν™”κ°€ μ—†λ‹€. ❗
  • μˆ˜ν‰ 쀑앙 μ •λ ¬λ§Œ κ°€λŠ₯ (수직x)

3) 쀑앙 μ •λ ¬ν•˜κ³  싢은 μš”μ†Œμ— transform: translate (-50%, -50%) μ μš©ν•˜κΈ°

  • μˆ˜ν‰Β·μˆ˜μ§ 쀑앙 μ •λ ¬ λͺ¨λ‘ κ°€λŠ₯
    단, 이 방법은 (λΆ€λͺ¨μš”μ†Œ 크기 = μžμ‹μš”μ†Œ 크기 x 2) 일 λ•Œλ§Œ μ‚¬μš© κ°€λŠ₯
  • transform을 μ΄μš©ν•œ 정석적인 쀑앙 μ •λ ¬ 방법은 πŸ”₯
<div class="transform-practice-outer">
  <div class="transform-practice-inner"></div>
</div>
div[class$="outer"] {
  background-color: pink;
  width: 600px;
  height: 400px;
  position: relative; /* inner λ°•μŠ€μ— absolute μ μš©ν•˜κΈ° μœ„ν•΄ 적어쀀 것 */
}

div[class$="inner"] {
  background-color: cadetblue;
  width: 100px;
  height: 100px;
  position: absolute;
  top: 50%;
  left: 50%; /* μ—¬κΈ°κΉŒμ§€λ§Œ ν•˜λ©΄ inner λ°•μŠ€μ˜ μ™Όμͺ½-μœ„ 꼭지점이 outer λ°•μŠ€μ˜ μ •κ°€μš΄λ° μœ„μΉ˜ν•˜κ²Œ 됨 */
  transform: translate(-50%, -50%) /* μ΄λ ‡κ²Œ ν•˜λ©΄ λΉ„λ‘œμ†Œ inner λ°•μŠ€μ˜ μ •κ°€μš΄λ°κ°€ outer λ°•μŠ€μ˜ μ •κ°€μš΄λ° μœ„μΉ˜ν•˜κ²Œ 됨 */
}

4) textλ₯Ό 쀑앙 μ •λ ¬ν•˜λŠ” 방법

  • text에 text-align: center; μ μš©ν•˜κΈ°
    β†’ μˆ˜ν‰ 쀑앙 μ •λ ¬
    β†’ μ΄λ•Œ textλŠ” block 레벨 μš”μ†Œ(h1, p λ“±)μ—¬μ•Ό ν•œλ‹€. inline 레벨 μš”μ†Œ(a, span λ“±)λŠ” width 속성을 갖지 λͺ»ν•΄ 쀑앙 κ°œλ…μ΄ μ‘΄μž¬ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ΄λ‹€. inline 레벨 μš”μ†Œλ₯Ό 쀑앙 μ •λ ¬ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ¨Όμ € display: block; 등을 지정해 block 레벨 μš”μ†Œλ‘œ λ°”κΏ” μ£Όμ–΄μ•Ό ν•œλ‹€. ❗
li {
  display: table;
  a {
    display: table-cell;
    vertical-align: middle;
  }
}

4. λ°˜μ‘ν˜• background

1) background: position/size repeat url('');

  • ex. background: center/cover no-repeat ul('');
  • positionκ³Ό size κ°’ μ‚¬μ΄λŠ” '/'λ₯Ό μ¨μ€˜μ•Ό ν•œλ‹€

πŸ™‹β€β™€οΈ 질문

  1. μš”κΈ° λ°”λ‘œκ°€κΈ°

✨ 내일 ν•  것

  1. CSS ν•„μˆ˜ κ°œλ…+λ³΄λ„ˆμŠ€ κ°œλ… λ§ˆμ € μˆ˜κ°•

  2. 포트폴리였 CSS styling 직접 ν•΄λ³Έ ν›„ κ°•μ˜μ™€ 비ꡐ·뢄석

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

0개의 λŒ“κΈ€