Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ 1주차 기본/심화/생각 과제 ] 웨비의 사진관과 가계부 #3

Open
wants to merge 18 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
Binary file removed 1차세미나/htmlcss(1:2)/wk3/1.png
Binary file not shown.
Binary file removed 1차세미나/htmlcss(1:2)/wk3/2.png
Binary file not shown.
Binary file removed 1차세미나/htmlcss(1:2)/wk3/3.png
Binary file not shown.
Binary file removed 1차세미나/htmlcss(1:2)/wk3/4.png
Binary file not shown.
Binary file removed 1차세미나/htmlcss(1:2)/wk3/5.png
Binary file not shown.
Binary file added Session01/.DS_Store
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<title>김밍밍</title>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

별명이 밍밍인가요..? 너무 귀엽다,,💛

</head>
<body>
<h2>NewYork</h2>
<header>NewYork</header>
<div class="container">
<section class="prSction">
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

img들을 모두 div로 감싼 이유가 무엇인가요? class 지정을 위해서라면 img에 클래스를 직접 추가해도 될 것 같아서요!

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

그리고 class를 추가하지 않고 .container > img로 더 간단하게 지정할 수 있습니다!
선택자를 적절히 사용하면 좀 더 편하게 스타일 지정이 가능합니다:)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저도 지민언니와 같이 img 태그 같은경우 div 로 감싸지 않고 바로 단독으로 썼으면 좋겠어요!
불필요한 div 태그를 남발하는 경우, 1. 불필요한 DOM node 생성으로 불필요한 메모리를 잡아먹는 단점이 있으니 div 태그의 필요성에 대해 고민하며 코드를 작성하면 좋을 것 같습니다! 👍

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

또한 저도 고칠 점인데 생각과제로 알아본 웹 접근성을 위해서 ... 시맨틱 태그 적극적으로 활용하기!
<article>는 독립적으로 배포 및 재사용할 수 있는 독립형 콘텐츠에 사용되니 이 태그도 사용하면 좋을 것 같습니다.

<!-- 이미지 미리보기 항목 -->
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

그리고 html 언어 설정이 현재 한국어로 되어 있기 때문에 스크린 리더기가 읽기 쉽도록 alt도 설정 언어에 맞게 한국어로 작성하는 것을 추천드립니다!

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
.flexbox01{
flex-wrap:wrap;
white-space: nowrap;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

white-space 속성은 줄바꿈 및 공백을 설정합니다. 그래서 flexbox01 에는 불필요해 보이는 요소 같아요!

/* 아이템의 너비 설정 (여기서는 3개로 나눔) */
display: flex;
flex-direction: row;
}
.sec01item {
width:200px;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
height:300px;
justify-content: center;
gap:10px;
position: relative;
}
.big{
width:50%;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
/* 그리드 컨테이너 스타일 */
.grid-container {
display: grid;
grid-template-rows: repeat(4, 110px);
grid-template-rows: repeat(4, 150px);
grid-template-columns: repeat(8, 1fr);
grid-auto-rows: 100px;
grid-auto-rows: 150px;
gap: 10px; /* 그리드 아이템 사이의 간격 설정 */
position: relative;
}

/* 그리드 아이템 스타일 */
Expand Down
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

list-style-type: none; 같이 자주 쓰이는 css 속성들은 reset.css 파일을 만들어서 한 번에 적용해주면 편리합니다!
reset.css 작성 방법은 다양하고 정답이 없기 때문에 아래 글 참고해서 자신에게 맞는 파일을 한 번 만들어보는 걸 추천드려요:)
CSS Reset 파일 작성법

Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
h2 {
header {
background-color: palegoldenrod;
color: black;
text-align: center;
line-height: 2;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

혹시 모두 line-height: 2;로 지정해준 이유가 있을까요?
그리고 line-height 속성에 대해 찾아보다가 생각과제였던 웹 접근성과 관련된 내용이 있어 공식문서 링크도 첨부합니다!
line-height
난독증 환자나 시력이 좋지 않은 사람들을 위해 line-height를 최소 1.5로 정하는 걸 추천해준다고 하는데 그런 면에서 좋은 코드라고 생각되어요:)

margin-bottom: 10px;
font-weight: 500;
}
h3{
color:black;
Expand All @@ -13,6 +15,8 @@ h4{
position: sticky;
background-color: rgb(245, 208, 214);
line-height: 2;
top:0;
z-index:1;
}
/*position: sticky;*/
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저도 주석을 실수로 올리는 경우가 많은데요..!ㅎㅎ 필요하지 않은 주석은 제거하고 PR 올려주는 게 좋습니다!

body {
Expand All @@ -21,7 +25,8 @@ body {
}

.prSction{
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CSS 네이밍 규칙에 맞게 줄임말보다는 직관적이고 이해하기 쉬운 클래스명을 사용하면 나중에 더 복잡해졌을 때 작업하기 수월해요!
저도 수정할 예정입니다..!ㅎㅎ
CSS 네이밍 규칙

overflow-x: scroll;
overflow-x: auto;
overflow-y: hidden;
display: flex;
width: 100%; height: 100%;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

코드 정렬 하면 좀 더 깔끔할 것 같아요!

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

코드 정렬할 때 참고하면 좋은 자료 첨부합니다! 다만 너무 엄격하게 전부 지키려고 하면 오히려 효율이 떨어질 수 있어서 본인에게 맞는 방식으로 큼직하게 나눠주면 나중에 리팩토링할 때나 코드리뷰할 때도 편리하답니다😊
CSS 작성 순서

white-space: nowrap;
Expand All @@ -33,9 +38,8 @@ body {
/* 각 이미지의 너비 설정 */
margin-right: 10px;
/* 이미지 간 간격 설정 */
flex-wrap: nowrap;
}


/* 추가적인 스타일링을 위한 예시 */
.prItem img {
width: 200px;
Expand Down Expand Up @@ -65,9 +69,12 @@ ul li a:hover {
text-decoration: underline; /* hover 시 밑줄 표시 */
cursor: pointer;
}

footer{
height:10vh;
background-color: #efc9e6;
}
.footerContent p{
text-align: center;
text-align: center;
}

/* Top 버튼 스타일 */
Expand All @@ -83,6 +90,6 @@ ul li a:hover {
font-size: 16px;
}

#topButton:hover {
background-color: #efc9e6;
}
#topButton:hover {
background-color: #afc488;
}
File renamed without changes.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

레포에 안 올라가는 이런 파일들은 .gitignore 파일을 추가해서 깔끔하게 관리하는 걸 추천드려요😊
.gitignore 작성방법 및 생성 사이트

File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Binary file not shown.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이전 커밋에 있는 애들이 리뷰가 한 줄씩 안 달리나봐요..! lang 설정이 영어로 되어 있어서 ko로 수정하는 게 좋을 것 같습니다!

Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@
<title>김밍밍</title>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

title은 SEO를 고려해서 웹사이트 주제와 관련 있는 제목으로 수정하면 좋을 것 같아요:)
title 태그의 중요성

</head>
<body>
<h2>민영이 가계부**</h2>
<header>민영이 가계부**</header>
<div class="container">
<div class="stylebox">
<h3>나의 자산</h3>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

heading태그는 h1부터 순차적으로 써주는게 원칙이랍니당!

<p>162100</p>
<p>159400</p>
<div class="inout">
<div class="income"><b>+: 250,000원</b></div>
<div class="expense"><b>-: 87,900원</b></div>
<div class="income">+: 250,000원</div>
<div class="expense">-: 90,600원</div>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2주차 과제 때 숫자가 바뀌도록 하게 되면 ``span을 추가하는 것이 더 좋을 것 같아요! div`가 너무 중첩되는 경우에 짧은 텍스트에 `span` 태그를 적용해주는 것도 괜찮을 것 같습니다~!

</div>
</div>
</div>
Expand All @@ -41,45 +41,74 @@ <h3>나의 자산</h3>
<div class="category">식비</div>
<div class="description">스타벅스</div>
<div class="amountM">- 10,000원</div>
<button class="deleteBtn">x</button>
<div class="deleBtn">
<button id="deleteBtn">x</button>
</div>
</div>
<div class="items">
<div class="category">용돈</div>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

span 대신 모두 div를 사용한 이유가 있을까요? 만약 짧은 텍스트들을 가로로 한 줄 정렬해야 되는 디자인이라면 인라인 속성인 span이 편리할 것 같아서요!

<div class="description">고모부</div>
<div class="amountP">+ 250,000원</div>
<button class="deleteBtn">x</button>
<div class="deleBtn">
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

클래스명에 오타가 있는 것 같습니다..!

<button id="deleteBtn">x</button>
</div>
</div>
<div class="items">
<div class="category">식비</div>
<div class="description">스타벅스</div>
<div class="amountM">- 5,000원</div>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

::before를 활용하면 한 번에 부호를 붙여줄 수 있습니다! 나중에 2주차 과제할 때 유용할 것 같아서 슬쩍 달아봅니다!

<button class="deleteBtn">x</button>
<div class="deleBtn">
<button id="deleteBtn">x</button>
</div>
</div>
<div class="items">
<div class="category">서적</div>
<div class="description">자구교재</div>
<div class="amountM">- 50,000원</div>
<button class="deleteBtn">x</button>
<div class="deleBtn">
<button id="deleteBtn">x</button>
</div>
</div>
<div class="items">
<div class="category">식비</div>
<div class="description">냉우동</div>
<div class="amountM">- 18,000원</div>
<button class="deleteBtn">x</button>
<div class="deleBtn">
<button id="deleteBtn">x</button>
</div>
</div>
<div class="items">
<div class="category">쇼핑</div>
<div class="description">머리띠</div>
<div class="amountM">- 4,900원</div>
<button class="deleteBtn">x</button>
<div class="deleBtn">
<button id="deleteBtn">x</button>
</div>
</div>
<div class="items">
<div class="category">식비</div>
<div class="description">초코칩</div>
<div class="amountM">- 1,500원</div>
<div class="deleBtn">
<button id="deleteBtn">x</button>
</div>
</div>
<div class="items">
<div class="category">학용품</div>
<div class="description">화이트</div>
<div class="amountM">- 1,200원</div>
<div class="deleBtn">
<button id="deleteBtn">x</button>
</div>
</div>
<!-- 다른 내역 항목들 -->
</div>
<footer>
<div class="footerContent">
<button id="add"><div style="cursor:pointer;">추가</div>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

스타일은 css 파일을 만들어 놓았으니 css 파일들에 몰아 넣으면 더 좋을 것 같아요✨

</button>
</div>
</footer>
</body>
<footer>
<div class="footerContent">
<button id="add"><div style="cursor:pointer;">추가</div>
</button>
</div>
</footer>

</html>
File renamed without changes.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

찾아보니 CSS 파일을 하나 만드는 것과 여러 개로 쪼개서 사용하는 것은 장단점이 있어 의견이 분분한 것 같아요. 쪼개면 가독성이 좋지만 html 안에서 3개 이상의 stylesheet를 연결하면 부하가 올 수 있어서 보통 style.css@import문을 써서 그 안에 css 파일들을 연결해준다고 해요!
참고자료1
스택오버플로우에서 해당 주제로 논의했더라고요! 다만 13년 전 열린 질문이라 최신 댓글 참고하는 걸 추천합니다

Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
h2 {
header {
background-color: palegoldenrod;
color: black;
text-align: center;
line-height: 2;
font-family: sans-serif;
font-weight: 700;
}
h3{
font-size: 20px;
Expand All @@ -16,6 +17,8 @@ body {
background-color: #f0f0f0;
margin: 0;
padding: 0;
overflow: hidden;
touch-action: none;
}

.container {
Expand All @@ -24,6 +27,7 @@ body {
align-items: center;
justify-content: center;
height: 250px;
width: 100%;
}
.stylebox{
background-color: beige;
Expand All @@ -46,38 +50,43 @@ body {
.inout {
text-align: center;
margin-top: 1px;
display: flex;
justify-content: center;
display: flex;
flex-direction: row;
justify-content:center;
width:80%;
height:40px;
gap:10px;
align-items: center;
}

.income {
border: 2px solid rgb(25, 111, 224);
width:30%;
box-sizing: border-box;
line-height: 2.5;
width:40%;
color:blue;
}

.expense {
border: 2px solid rgb(215, 6, 6);
width:30%;
box-sizing: border-box;
line-height: 2.5;
color:red;
width:40%;
}

.borderline{
border-top: 1px solid #3783a9;
margin: 0px 0px;
}
/* Top 버튼 스타일 */
.footerContent{
footer{
display: flex;
justify-content: center;
justify-content:center;
align-items: center;
}

.footerContent{
background-color: #efc9e6;
}
#add {
display: flex;
align-items: center;
justify-content: bottom;
bottom: 10px;
right: 10px;
background-color: #c8def5;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,23 @@
display: flex;
flex-direction: column;
/* 일정 height 이상이면 스크롤 표시 */
overflow-y: scroll; /* 스크롤 표시를 위해 */
height:calc(100vh - 450px);
width: 100%;
white-space: nowrap;
box-sizing: border-box;
overflow-y: scroll;
height:40vh;
width:100%;
align-items: center;
}

.items {
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: center;
padding: 10px;
border: 1px solid #ccc;
margin: 5px;
background-color: #f8f8f8;
width: 100%;
max-height:100%;
width: 90%;
}

.category {
Expand All @@ -26,21 +27,20 @@
}

.description {
flex: 2;
flex: 1.5;
}

.amountM {
flex: 1;
font-weight: bold;
color:red;
}
.amountP{
flex: 1;
font-weight: bold;
color: blue;
}

.deleteBtn {
flex: 1;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

flex: 1;이 찾아보니 flex-grow: 1; flex-shrink: 1; flex-basis: 0%를 의미하는군요?! 덕분에 배워갑니다👍🏻

background-color: transparent;
border: none;
cursor: pointer;
Expand Down