diff --git a/.DS_Store b/.DS_Store index fdfd322e..036bd229 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/README.md b/README.md index 6bf51df6..ea4d10d7 100644 --- a/README.md +++ b/README.md @@ -1 +1,14 @@ -# HyeonJiPARK \ No newline at end of file +
+ +# HyeonjiPARK +

μ•„μ’Œμ’Œ..

+ +### πŸ’» 과제 + +| Week | 과제 | β˜‘οΈ | 링크 | +| ---- | -------- | -- |---- | +| 1μ£Όμ°¨ | TodoList | β˜‘οΈ | | +| 1μ£Όμ°¨ | Hyeonlog | β˜‘οΈ | | +| 1μ£Όμ°¨ | μ›Ήμ ‘κ·Όμ„± | | | + +
diff --git a/img/TodoList.png b/img/TodoList.png new file mode 100644 index 00000000..64e4bc12 Binary files /dev/null and b/img/TodoList.png differ diff --git a/img/hyeonlog.gif b/img/hyeonlog.gif new file mode 100644 index 00000000..a7faef48 Binary files /dev/null and b/img/hyeonlog.gif differ diff --git a/img/hyeonlog.mov b/img/hyeonlog.mov new file mode 100644 index 00000000..d7a75dc2 Binary files /dev/null and b/img/hyeonlog.mov differ diff --git a/week1/.DS_Store b/week1/.DS_Store new file mode 100644 index 00000000..6004942e Binary files /dev/null and b/week1/.DS_Store differ diff --git a/week1/WA.md b/week1/WA.md new file mode 100644 index 00000000..c37ac61a --- /dev/null +++ b/week1/WA.md @@ -0,0 +1,118 @@ +# μ›Ή μ ‘κ·Όμ„±(Web Accessibility) + + +## πŸ‘€ μ›Ή μ ‘κ·Όμ„±μ΄λž€? + +μ›Ή ν‘œμ€€ 기ꡬ W3Cκ°€ λ§ν•˜λŠ” μ›Ή 접근성은 μ œμ•½μ„ 가진 μœ μ €λ“€λ„ μ ‘κ·Όν•˜κ³  μ‚¬μš©ν•  수 μžˆκ²Œλ” ν•˜λŠ” μ›Ήμ‚¬μ΄νŠΈ, 도ꡬ, κΈ°μˆ μ΄λ‹€. μ „ 세계에 μ‚¬λŠ” λͺ¨λ“  λ‹€μ–‘ν•œ μœ μ €κ°€, 그듀이 가진 λΆˆνŽΈν•¨κ³Ό 관계 없이 웹을 μ‚¬μš©ν•  수 있게 ν•˜λŠ” 것이 μ›Ή μ ‘κ·Όμ„±μ˜ λͺ©ν‘œμ΄λ‹€. 예λ₯Ό λ“€μ–΄ μ‹œκ°μž₯μ• μΈμ˜ 경우 화면을 눈으둜 λ³Ό 수 μ—†κΈ° λ•Œλ¬Έμ— '슀크린 리더'λΌλŠ” λ³„λ„μ˜ μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό 컴퓨터에 μ„€μΉ˜ν•˜μ—¬ μŒμ„±μœΌλ‘œ μ›ΉνŽ˜μ΄μ§€μ— λ‹΄κΈ΄ 정보λ₯Ό μ΄ν•΄ν•œλ‹€. + +> **μ›Ήμ˜ νž˜μ€ λ³΄νŽΈμ„±μ— μžˆλ‹€. μž₯애와 상관없이 λͺ¨λ“  μ‚¬λžŒμ΄ μ ‘κ·Όν•  수 μžˆλŠ” 것은 ν•„μˆ˜μ μΈ 츑면이닀.** +> +> -Tim Berners-Lee, W3C Director and inventor of the World Wide Web + +κ²°κ΅­ 접근성은 β€˜**λˆ„κ΅¬λ‚˜ μ½˜ν…μΈ λ₯Ό μ΄μš©ν•  수 μžˆμ–΄μ•Όν•œλ‹€**'에 가깝기 λ•Œλ¬Έμ—, 접근성을 κ³ λ €ν•΄ 웹을 λ§Œλ“œλŠ” 것은 **λͺ¨λ“  μž₯애인 그리고 λͺ¨λ“  λΉ„μž₯애인을 μœ„ν•œ 일**이라고 말할 수 μžˆλ‹€. + + +------ + +## πŸ’» 접근성을 μœ„ν•œ κ°œλ°œμ€ μ–΄λ–€ 것듀이 μžˆμ„κΉŒ? + +λͺ¨λ“  μ‚¬μš©μžλ“€μ΄ μ–΄λ–»κ²Œ 웹을 잘 μ“°κ²Œ ν•  것인가에 λŒ€ν•΄μ„œλŠ” 정말 λ‹€μ–‘ν•œ 기쀀이 μžˆλ‹€. κ·Έλž˜μ„œ κ·ΈλŸ¬ν•œ ν‘œμ€€μ„ 작기 μœ„ν•΄μ„œ W3C(World Wide Web Consortium)λŠ” 접근성에 λŒ€ν•œ 지침을 μ œμ‹œν–ˆλ‹€. 이λ₯Ό WCAG(Web Content Accessibility Guidelines) 라고 ν•œλ‹€. WCAGμ—λŠ” μ ‘κ·Ό κ°€λŠ₯ν•œ μ›Ήμ‚¬μ΄νŠΈλ₯Ό λ§Œλ“€ λ•Œ 쀑점을 μ£Όμ–΄μ•Ό ν•  4가지 μ£Όμš” 원칙 이 λͺ…μ‹œλ˜μ–΄ μžˆλ‹€. + + +### 1. **인지성(Perceivable)** + +> **λͺ¨λ“  μ½˜ν…μΈ λŠ” μ‚¬μš©μžκ°€ 인식 κ°€λŠ₯ν•΄μ•Ό ν•œλ‹€.** + +- λͺ¨λ“  ν…μŠ€νŠΈκ°€ μ•„λ‹Œ μ½˜ν…μΈ λ₯Ό μ‚¬λžŒλ“€μ΄ μ›ν•˜λŠ” 인쇄, 점자, μŒμ„±, 기호 λ˜λŠ” κ°„ μ–Έμ–΄ λ“±κ³Ό 같은 ν˜•νƒœλ‘œ μ œκ³΅ν•΄μ•Όν•œλ‹€. +- μ‚¬μš©μžλ“€μ΄ 보닀 μ‰½κ²Œ 보고 듀을 수 μžˆλŠ” μ „κ²½μ—μ„œ λ°°κ²½ λΆ„λ¦¬ν•œ μ½˜ν…μΈ λ₯Ό λ§Œλ“€μ–΄μ•Ό ν•œλ‹€. + +**ex) λŒ€μ²΄ ν…μŠ€νŠΈ** +이미지, λΉ„λ””μ˜€ 및 μ˜€λ””μ˜€ λ“± νŽ˜μ΄μ§€μ˜ λͺ¨λ“  ν…μŠ€νŠΈκ°€ μ•„λ‹Œ μ½˜ν…μΈ μ—λŠ” 이λ₯Ό λ³Ό 수 μ—†λŠ” μ‚¬μš©μžλ₯Ό μœ„ν•œ λŒ€μ²΄ ν…μŠ€νŠΈλ₯Ό μ œκ³΅ν•΄μ•Ό ν•œλ‹€. 이λ₯Ό μœ„ν•΄ alt 속성에 μ΄λ―Έμ§€μ—μ„œ μ œκ³΅ν•˜λŠ” λ‚΄μš©μ„ μž‘μ„±ν•œλ‹€. λ‹¨μˆœν•œ μž₯식 μ΄λ―Έμ§€μ˜ 경우 alt 속성을 ν¬ν•¨ν•˜λ˜ λΉ„μ›Œ λ‘”λ‹€. + +```jsx +λŒ€μ²΄ ν…μŠ€νŠΈ +``` + + +### 2. **μš΄μš©μ„±(Operable)** + +> **μ‚¬μš©μžκ°€ λͺ¨λ“  κΈ°λŠ₯에 λŒ€ν•΄ μ‘°μž‘μ΄ κ°€λŠ₯ν•΄μ•Όν•œλ‹€.** + +- ν‚€λ³΄λ“œλ‘œ λͺ¨λ“  κΈ°λŠ₯을 μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•΄μ•Όν•œλ‹€. +- 읽기 및 μ½˜ν…μΈ λ₯Ό μ‚¬μš©ν•˜λŠ” μ‚¬μš©μžμ—κ²Œ μΆ©λΆ„ν•œ μ‹œκ°„μ„ μ œκ³΅ν•΄μ•Όν•œλ‹€. +- λ°œμž‘μ„ μΌμœΌν‚¬ 수 μžˆλŠ” μ½˜ν…μΈ λ₯Ό λ””μžμΈν•˜μ§€ μ•Šμ•„μ•Ό ν•œλ‹€. +- μ‚¬μš©μžκ°€ νƒμƒ‰ν•˜κ³ , μ½˜ν…μΈ  μ°Ύκ³  그듀이 어디에 μœ„μΉ˜ν•˜κ³  μžˆλŠ”μ§€λ₯Ό μ•Œ 수 λ„μ™€μ£ΌλŠ” 방법을 μ œκ³΅ν•΄μ•Όν•œλ‹€. + +**ex) ν‚€λ³΄λ“œλ₯Ό ν†΅ν•œ μ‘°μž‘** +λͺ¨λ“  μ‚¬λžŒμ΄ 마우슀λ₯Ό μ‚¬μš©ν•  수 μžˆλŠ” 것은 μ•„λ‹ˆλ‹€. λ”°λΌμ„œ μ›Ήμ‚¬μ΄νŠΈμ˜ λͺ¨λ“  κΈ°λŠ₯은 ν‚€λ³΄λ“œλ§ŒμœΌλ‘œ μ•‘μ„ΈμŠ€ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€. 예λ₯Ό λ“€μ–΄, νƒ­ ν‚€λŠ” μ‚¬μš©μžκ°€ νŽ˜μ΄μ§€μ—μ„œ 선택 κ°€λŠ₯ν•œ μš”μ†Œ 사이λ₯Ό 이동할 수 있게 ν•˜κ³ , μ—”ν„°/리턴 ν‚€λŠ” ν¬μ»€μŠ€κ°€ μžˆλŠ” μš”μ†Œλ₯Ό 클릭할 수 μžˆμ–΄μ•Ό ν•œλ‹€. + +```jsx +

νƒ­ ν‚€λ₯Ό μ΄μš©ν•  수 있게 함

+

νƒ­ ν‚€λ₯Ό μ΄μš©ν•  수 μ—†κ²Œ 함

+ +

νƒ­ ν‚€μ˜ μˆœμ„œλ₯Ό 지정

+

νƒ­ ν‚€μ˜ μˆœμ„œλ₯Ό 지정

+

νƒ­ ν‚€μ˜ μˆœμ„œλ₯Ό 지정

+``` + + +### 3. **이해성(Understandable)** + +> **λͺ¨λ“  μ‚¬μš©μžμ—κ²Œ μ½˜ν…μΈ λŠ” μ΄ν•΄λ˜μ–΄μ•Ό ν•œλ‹€.** + +- ν…μŠ€νŠΈ μ½˜ν…μΈ λ₯Ό νŒλ…ν•˜κ³  이해할 수 μžˆλ„λ‘ λ§Œλ“€μ–΄μ•Ό ν•œλ‹€. +- μ›ΉνŽ˜μ΄μ§€μ˜ νƒ‘μž¬μ™€ μš΄μš©μ„ 예츑 κ°€λŠ₯ν•œ λ°©λ²•μœΌλ‘œ μ œμž‘ν•΄μ•Ό ν•œλ‹€. +- μ‚¬μš©μžμ˜ μ‹€μˆ˜λ₯Ό λ°©μ§€ν•˜κ³  μˆ˜μ •ν•  수 μžˆλ„λ‘ 도와야 ν•œλ‹€. + +**ex) νŽ˜μ΄μ§€ μ–Έμ–΄ 지정** +λ‹€κ΅­μ–΄λ₯Ό μ§€μ›ν•˜λŠ” 경우, ν…μŠ€νŠΈμ˜ μ–Έμ–΄ 정보λ₯Ό 슀크린 λ¦¬λ”μ—κ²Œ μ „λ‹¬ν•˜κΈ° λ•Œλ¬Έμ—μ½˜ν…μΈ μ— μ μš©λ˜λŠ” μ–Έμ–΄λ₯Ό λ°˜λ“œμ‹œ λͺ…μ‹œν•΄μ•Ό ν•œλ‹€. + +```jsx + +

μ’€ 더 fancyν•œ 삢을 μ‚΄κ³  μ‹ΆμœΌμ‹ κ°€μš”?

+``` + + +### 4. **견고성(Robust)** + +> **미래의 κΈ°μˆ λ‘œλ„ ν˜„μž¬μ˜ μ½˜ν…μΈ λ₯Ό μ΄μš©ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€.** + +- μ½˜ν…μΈ λŠ” 보쑰 κΈ°μˆ μ„ ν¬ν•¨ν•œ λ„“κ³  λ‹€μ–‘ν•œ μ‚¬μš©μž μ—μ΄μ „νŠΈμ— μ˜μ‘΄ν•˜μ—¬ 해석될 수 μžˆλ„λ‘ μΆ©λΆ„νžˆ 내ꡬ성을 κ°€μ Έμ•Ό ν•œλ‹€. + + +------ + +## πŸ’‘ 접근성을 μœ„ν•œ κ°œλ°œμ€ ν•„μš”ν• κΉŒ? + +μ›Ή 접근성을 보μž₯ν•˜λŠ” κ°œλ°œμ„ μœ„ν•œ λ…Έλ ₯을 톡해 κΈ°λŒ€ν•  수 μžˆλŠ” νš¨κ³Όλ“€μ€ λ‹€μŒκ³Ό κ°™λ‹€. + +1. **`μž₯애인, 고령자 등을 ν¬ν•¨ν•œ μ‚¬μš©μžμΈ΅ ν™•λŒ€`** + + μž₯애인, 고령자 λ“±κ³Ό 같은 정보 μ†Œμ™Έ 계측이 μ›ν•˜λŠ” 정보λ₯Ό 자유둭게 μ ‘κ·Όν•˜κ³  μ΄μš©ν•  수 있게 ν•΄μ£Όλ©°, μ΄λŸ¬ν•œ 잠재적인 계측을 μ‚¬μš©μž κ³„μΈ΅μœΌλ‘œ λŒμ–΄λ‚΄μ–΄ μƒˆλ‘œμš΄ 고객측을 λ°œκ΅΄ν•˜λŠ” 기회둜 ν™œμš©ν•  수 μžˆλ‹€. + +2. **`μœ μ§€λ³΄μˆ˜μ˜ μš©μ΄μ„±`** + + λΆˆν•„μš”ν•œ νƒœκ·Έλ“€μ„ μ‚¬μš©ν•˜μ§€ μ•Šκ³  정해진 κ·œκ²©μ— 맞게 μ½”λ”©ν•˜κΈ° λ•Œλ¬Έμ— 이후 μœ μ§€λ³΄μˆ˜κ°€ μƒλŒ€μ μœΌλ‘œ κ°„νŽΈν•΄μ§„λ‹€. λ‹€λ₯Έμ΄λ“€κ³Όμ˜ ν˜‘μ—…μ—μ„œλ„ 쒋은 가독성을 μ œκ³΅ν•œλ‹€. + +3. **`μ„œλ²„μ˜ λΆ€λ‹΄ κ°μ†Œ`** + + μ›Ή ν‘œμ€€μ„ 따라 효율적으둜 μ§œμ—¬μ§„ μ½”λ“œλŠ” μ½”λ“œμ˜ 양도 쀄고 λ™μ‹œμ— μ„œλ²„μ˜ 뢀담을 쀄인닀. μ΄λŠ” λ‘œλ”© 속도도 ν–₯μƒμ‹œν‚¨λ‹€. + +4. **`SEO(검색 엔진 μ΅œμ ν™”)에 유리`** + + μ›Ή 접근성을 μ€€μˆ˜ν•œ λ§ˆν¬μ—…μ€ SEO에 μœ λ¦¬ν•˜λ‹€. μ‹œλ§¨ν‹±ν•œ λ§ˆν¬μ—…μ€ 검색 ν¬λ‘€λŸ¬κ°€ 컨텐츠λ₯Ό μ΄ν•΄ν•˜λŠ”λ° 도움을 μ£ΌκΈ° λ•Œλ¬Έμ΄λ‹€. 검색 μ—”μ§„μ˜ ν¬λ‘€λŸ¬λŠ” μ›Ήμ‚¬μ΄νŠΈ μš”μ†Œκ°„μ˜ 관계와 μ€‘μš”λ„λ₯Ό νŒŒμ•…ν•˜μ—¬ `heading`κ³Ό 같은 νƒœκ·Έλ‘œ 감싸진 μ€‘μš”ν•œ ν‚€μ›Œλ“œλ₯Ό 검색 μΈλ±μŠ€μ— λ„£μ–΄ 검색 κ²°κ³Όλ₯Ό μ΅œμ ν™”ν•œλ‹€. + + +μ›”λ“œ μ™€μ΄λ“œ μ›Ή (World Wide Web)을 μ°½μ‹œν•œ νŒ€ λ²„λ„ˆμŠ€ λ¦¬λŠ” μ›Ήμ΄λž€ `'μž₯애에 ꡬ애 없이 λͺ¨λ“  μ‚¬λžŒλ“€μ΄ μ†μ‰½κ²Œ 정보λ₯Ό κ³΅μœ ν•  수 μžˆλŠ” 곡간'`이라고 μ •μ˜ν•˜μ˜€μœΌλ©°, μ›Ή μ½˜ν…μΈ λ₯Ό μ œμž‘ν•  λ•Œμ—λŠ” μž₯애에 ꡬ애됨이 없이 λˆ„κ΅¬λ‚˜ μ ‘κ·Όν•  수 μžˆλ„λ‘ μ œμž‘ν•˜μ—¬μ•Ό ν•œλ‹€κ³  ν•˜μ˜€λ‹€. +μ›Ή κ°œλ°œμ„ μ‹œμž‘ν•˜λ©° μ΄λŸ¬ν•œ λ³Έμ§ˆμ„ μžŠμ§€ μ•ŠκΈ° μœ„ν•΄μ„œ, μ•žμœΌλ‘œλ„ λ‹€μ–‘ν•œ 방식을 ν†΅ν•œ 접근성을 μ²˜μŒλΆ€λŸ¬ κ³ λ €ν•˜μ—¬ κ°œλ°œν•˜λŠ” μŠ΅κ΄€μ„ λ“€μ—¬μ•Όκ² λ‹€κ³  μƒκ°ν–ˆλ‹€. + + +------ + +### μ°Έκ³  자료 + +- https://www.w3.org/WAI/fundamentals/accessibility-intro/ +- https://jae04099.tistory.com/entry/HTML-CSS-μ›Ή-μ ‘κ·Όμ„±-μ›Ή-ν‘œμ€€-μ›Ή-접근성을-μœ„ν•œ-κ·œμΉ™λ“€ +- https://maxkim-j.github.io/posts/web-accessiblity-virtuous-cycle + + diff --git a/week1/seminar/.DS_Store b/week1/seminar/.DS_Store new file mode 100644 index 00000000..5008ddfc Binary files /dev/null and b/week1/seminar/.DS_Store differ diff --git a/week1/seminar/index.html b/week1/seminar/index.html new file mode 100644 index 00000000..e953ece4 --- /dev/null +++ b/week1/seminar/index.html @@ -0,0 +1,35 @@ + + + + + + + + Document + + + + + +
+
+
+ + \ No newline at end of file diff --git a/week1/seminar/style.css b/week1/seminar/style.css new file mode 100644 index 00000000..60af003c --- /dev/null +++ b/week1/seminar/style.css @@ -0,0 +1,8 @@ +@import url(./subStyle.css); +body{ + /* color: blue; */ +} + +ul > li{ + color: blue; +} diff --git a/week1/seminar/subStyle.css b/week1/seminar/subStyle.css new file mode 100644 index 00000000..da46bc93 --- /dev/null +++ b/week1/seminar/subStyle.css @@ -0,0 +1,3 @@ +body{ + color: red; +} \ No newline at end of file diff --git a/week1/todoList/index.html b/week1/todoList/index.html new file mode 100644 index 00000000..814279f1 --- /dev/null +++ b/week1/todoList/index.html @@ -0,0 +1,58 @@ + + + + + + + + + + + + TODOLIST + + +
+ + + + +
+
+
+

TODAY

+
+ +
+ + +
+
+
+

TOMORROW

+
+ + +
+
+ + \ No newline at end of file diff --git a/week1/todoList/logo.png b/week1/todoList/logo.png new file mode 100644 index 00000000..e7abfeca Binary files /dev/null and b/week1/todoList/logo.png differ diff --git a/week1/todoList/reset.css b/week1/todoList/reset.css new file mode 100644 index 00000000..0fc4482d --- /dev/null +++ b/week1/todoList/reset.css @@ -0,0 +1,130 @@ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} + +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} + +body { + line-height: 1; +} + +ol, +ul { + list-style: none; +} + +blockquote, +q { + quotes: none; +} + +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} \ No newline at end of file diff --git a/week1/todoList/style.css b/week1/todoList/style.css new file mode 100644 index 00000000..172c11f2 --- /dev/null +++ b/week1/todoList/style.css @@ -0,0 +1,181 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: "Inter", sans-serif; +} + +button:hover { + cursor: pointer; +} + +.header { + position: relative; +} + +/* .header-title { + height: 50px; + + margin: 15px; + + display: flex; + justify-content: left; + align-items: center; + + font-size: 2rem; + font-weight: 900; +} */ + +.header-logo { + width: 150px; + + margin: 20px; + + display: flex; + justify-content: left; + align-items: center; +} + +.header__nav { + height: 50px; + + display: flex; + justify-content: center; + align-items: center; + gap: 5px; +} + +.header__nav-button { + border: 0; + + padding: 10px; + + font-size: 1rem; + font-weight: 600; + + color: #B6BEC9; + background-color: white; +} + +.header__nav-button:hover { + color: black; + text-decoration : underline; + +} + +/* ---------------------------------- */ + +.box { + height: 500px; + margin: 20px; + padding: 15px; + + display: flex; + flex-direction: column; + /* justify-content: space-around; */ + flex-wrap: wrap; + + position: relative; + + /* box-shadow : x y blur spread color */ + box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.15); +} + +.box .todolist-line { + border: 0; + height: 1px; + + margin: 15px 0px; + + background-color : #E3E6EA; +} + +.box .todolist__footer { + width: 90%; + height: 50px; + + position: absolute; + bottom: 10px; + + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + gap: 10px; +} + +/* ---------------------------------- */ + +.todolist { + display: flex; +} + +.todolist-title { + font-weight: 900; +} + +.todolist__today { + display: flex; + flex: 1; +} + +.todolist__tomorrow { + display: flex; + flex: 1; +} + +.todolist__lists { +} + +.todolist__item { + display: flex; + justify-content: space-between; + align-items: center; + + padding: 5px; + margin: 5px; +} + +.todolist__item:not(:last-child) { + border-bottom: 1px solid #efefef; +} + + +/* ---------------------------------- */ + +.todolist__input { + height: 30px; + + display: block; + flex-grow: 1; + + border: 1px solid #efefef; +} + +.todolist__add-button { + width: 30px; + height: 30px; + + border: 0; + + font-size: 1rem; + font-weight: 600; + + color: #B6BEC9; + background-color: white; + +} + +.todolist__delete-button { + width: 30px; + height: 30px; + + border: 0; + + font-size: 1rem; + font-weight: 600; + + color: #B6BEC9; + background-color: white; + +} \ No newline at end of file diff --git a/week1/velog/img/profile.jpeg b/week1/velog/img/profile.jpeg new file mode 100644 index 00000000..732a96db Binary files /dev/null and b/week1/velog/img/profile.jpeg differ diff --git a/week1/velog/img/thumb.png b/week1/velog/img/thumb.png new file mode 100644 index 00000000..d40c7e12 Binary files /dev/null and b/week1/velog/img/thumb.png differ diff --git a/week1/velog/index.html b/week1/velog/index.html new file mode 100644 index 00000000..8e3fa77f --- /dev/null +++ b/week1/velog/index.html @@ -0,0 +1,210 @@ + + + + + + + + + + + hyeonlog + + +
+

hyeonlog

+
+ light_mode + search + +
+ ν”„λ‘œν•„ 이미지 + arrow_drop_down +
+
+
+ + + +
+
+ ν•˜λŠ˜ +

제λͺ©μ œλͺ©μ œλͺ©

+

λ‚΄μš©μž¬λ‡½λ‚΄μš˜

+

2022λ…„ 9μ›” 29일 Β· 10개의 λŒ“κΈ€

+
+
+ μœ μ € 이미지 + by +

λ°•ν˜„μ§€

+
+ +
+
+
+ ν•˜λŠ˜ +

제λͺ©μ œλͺ©μ œλͺ©

+

+ λ‚΄μš©μž¬λ‡½λ‚΄μš˜
+ λ‚΄μš©μž¬λ‡½λ‚΄μš˜ +

+

2022λ…„ 9μ›” 29일 Β· 10개의 λŒ“κΈ€

+
+
+ μœ μ € 이미지 + by +

λ°•ν˜„μ§€

+
+ +
+
+
+ ν•˜λŠ˜ +

제λͺ©μ œλͺ©μ œλͺ©

+

+ λ‚΄μš©μž¬λ‡½λ‚΄μš˜
+ λ‚΄μš©μž¬λ‡½λ‚΄μš˜
+ λ‚΄μš©μž¬λ‡½λ‚΄μš˜ +

+

2022λ…„ 9μ›” 29일 Β· 10개의 λŒ“κΈ€

+
+
+ μœ μ € 이미지 + by +

λ°•ν˜„μ§€

+
+ +
+
+
+ ν•˜λŠ˜ +

제λͺ©μ œλͺ©μ œλͺ©

+

λ‚΄μš©μž¬λ‡½λ‚΄μš˜

+

2022λ…„ 9μ›” 29일 Β· 10개의 λŒ“κΈ€

+
+
+ μœ μ € 이미지 + by +

λ°•ν˜„μ§€

+
+ +
+
+
+ ν•˜λŠ˜ +

제λͺ©μ œλͺ©μ œλͺ©

+

λ‚΄μš©μž¬λ‡½λ‚΄μš˜

+

2022λ…„ 9μ›” 29일 Β· 10개의 λŒ“κΈ€

+
+
+ μœ μ € 이미지 + by +

λ°•ν˜„μ§€

+
+ +
+
+
+ ν•˜λŠ˜ +

제λͺ©μ œλͺ©μ œλͺ©

+

λ‚΄μš©μž¬λ‡½λ‚΄μš˜

+

2022λ…„ 9μ›” 29일 Β· 10개의 λŒ“κΈ€

+
+
+ μœ μ € 이미지 + by +

λ°•ν˜„μ§€

+
+ +
+
+
+ +

제λͺ©μ œλͺ©μ œλͺ©μ‚¬μ§„μ—†μŒ

+

λ‚΄μš©μž¬λ‡½λ‚΄μš˜

+

2022λ…„ 9μ›” 29일 Β· 10개의 λŒ“κΈ€

+
+
+ μœ μ € 이미지 + by +

λ°•ν˜„μ§€

+
+ +
+
+
+ ν•˜λŠ˜ +

제λͺ©μ œλͺ©μ œλͺ©

+

λ‚΄μš©μž¬λ‡½λ‚΄μš˜

+

2022λ…„ 9μ›” 29일 Β· 10개의 λŒ“κΈ€

+
+
+ μœ μ € 이미지 + by +

λ°•ν˜„μ§€

+
+ +
+
+
+ ν•˜λŠ˜ +

제λͺ©μ œλͺ©μ œλͺ©

+

λ‚΄μš©μž¬λ‡½λ‚΄μš˜

+

2022λ…„ 9μ›” 29일 Β· 10개의 λŒ“κΈ€

+ +
+
+ + \ No newline at end of file diff --git a/week1/velog/reset.css b/week1/velog/reset.css new file mode 100644 index 00000000..0fc4482d --- /dev/null +++ b/week1/velog/reset.css @@ -0,0 +1,130 @@ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} + +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} + +body { + line-height: 1; +} + +ol, +ul { + list-style: none; +} + +blockquote, +q { + quotes: none; +} + +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} \ No newline at end of file diff --git a/week1/velog/style.css b/week1/velog/style.css new file mode 100644 index 00000000..f8db4f21 --- /dev/null +++ b/week1/velog/style.css @@ -0,0 +1,344 @@ +* { + position: relative; + box-sizing: border-box; + background-color: #f8f9fa; +} + +body { + max-width: 1024px; + margin: 0 auto; + display: flex; + flex-direction: column; +} + +/* ----------------- header ----------------- */ + +.header { + height: 64px; + display: flex; + justify-content: space-between; + align-items: center; +} + +.header > h1 { + font-size: 1.5rem; + font-weight: 700; +} +.header > h1:hover { + cursor: pointer; +} +.header__setting { + display: flex; + justify-content: space-between; + align-items: center; +} + +.header__lightmode, +.header__search { + padding: 10px; + border-radius: 25px; +} + +.header__lightmode:hover, +.header__search:hover { + background-color: #E3E6EA; + cursor: pointer; +} + +.header__write { + padding: 5px 15px; + margin-left: 10px; + + border: 0.5px solid black; + border-radius: 25px; + + font-size: 1rem; + font-weight: 600; +} + +.header__write:hover { + color: white; + background-color: black; + cursor: pointer; +} + +.header__profile { + display: flex; + justify-content: center; + align-items: center; + + padding-left: 20px; +} + +.header__profile:hover { + cursor: pointer; +} + +.header__image { + width: 40px; + height: 40px; + + border-radius: 25px; +} + +.header__dropdown { + color: gray; +} + +.header__dropdown:hover { + color: black; +} + +/* ----------------- nav ----------------- */ + +.nav { + display: flex; + justify-content: space-between; + align-items: center; + + margin-top: 20px; +} + +.nav__wrapper { + display: flex; + align-items: center; + gap: 10px; +} + +.nav__list { + display: flex; +} + +.nav__list li { + display: flex; + place-items: center; + padding: 10px 20px; + gap: 5px; + font-size: 1.2rem; +} + +.nav__list li:hover { + cursor: pointer; +} + +.nav__trending { + border-bottom: 2px solid; +} + +.nav__recent { + color: gray; +} + +.nav__dropdown { + height: 30px; + display: flex; + align-items: center; + gap: 10px; + + padding: 5px 10px; + + background-color: white; + border: none; + border-radius: 5px; +} + +.nav__dropdown > span { + background-color: white; + + font-size: 0.9rem; + font-weight: 400; +} + +.nav__dropdown:hover { + cursor: pointer; +} + +.nav__more { + padding-right: 5px; + color: gray; +} + +.nav__more:hover { + cursor: pointer; +} + +/* ----------------- card section ----------------- */ + +.section { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + + margin: 20px auto; +} + +.card { + width: 25%; + margin: 15px; + + display: flex; + flex-direction: column; + + background-color: white; + text-decoration: none; + color: #444; + box-shadow: 0 0 10px 1px rgba(0,0,0,0.05); + + position: relative; + top: 0; + transition: all .25s ease-in; + +} + +.card:hover { + top: -10px; + box-shadow: 0 0 15px 3px rgba(0,0,0,0.1); +} + +.card__thumbnail { + width: 100%; + height: 45%; + background-color: white; +} + +.card__title { + padding: 15px; + font-weight: 700; + background-color: white; +} + +.card__description { + padding: 0 15px; + color: gray; + font-size: 0.9em; + font-weight: 400; + line-height: 1.3rem; + background-color: white; + margin-bottom: auto; + +} + +.card__info { + padding: 15px; + background-color: white; + font-size: 0.8rem; + color: darkgray; +} + +.card__footer { + display: flex; + justify-content: space-between; + align-items: center; + + padding: 15px; + + border-top: 1px solid #E3E6EA; + font-weight: 700; + background-color: white; +} + +.card__user { + display: flex; + justify-content: center; + align-items: center; + gap: 5px; + background-color: white; + font-size: 0.8rem; +} + +.card__user > span{ + font-weight: 200; + background-color: white; +} + +.user__image { + width: 25px; + height: 25px; + + border-radius: 25px; +} +.user__name { + background-color: white; +} + +.card__like { + display: flex; + justify-content: center; + align-items: center; + gap: 5px; + background-color: white; +} + +.card__like > span { + font-size: 0.8rem; + font-weight: 400; + background-color: white; +} + + +/* ---------------------------------- */ + +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url(https://example.com/MaterialIcons-Regular.eot); /* For IE6-8 */ + src: local('Material Icons'), + local('MaterialIcons-Regular'), + url(https://example.com/MaterialIcons-Regular.woff2) format('woff2'), + url(https://example.com/MaterialIcons-Regular.woff) format('woff'), + url(https://example.com/MaterialIcons-Regular.ttf) format('truetype'); +} + +.material-icons { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 24px; /* Preferred icon size */ + display: inline-block; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + + /* Support for IE. */ + font-feature-settings: 'liga'; +} + +@media (min-width:1445px){ + body{ + max-width: 1444px; + } + + .card{ + width:22%; + } +} + +@media (min-width: 1025px) and (max-width: 1444px) { + .card{ + width:30%; + } +} + +@media (min-width: 660px) and (max-width: 1024px) { + .card{ + width:45%; + } +} + +@media (max-width: 660px){ + .card{ + width:100%; + } +}