Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
72 changes: 72 additions & 0 deletions css/board.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
.boards {
width: 100%;
padding: 5rem 0;
}

.board {
width: 100%;
font-size: 6rem;
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 8rem;
font-family: "GangwonState";
}

.boardName {
margin-bottom: 4rem;
}

.boardInput {
width: 60rem;
height: 5rem;
padding: 1rem;
margin-right: 2rem;
font-size: 3.5rem;
border: none;
border-bottom: 1px solid transparent;
border-image: linear-gradient(to left, white, black);
border-image-slice: 1;
background-color: transparent;
}

.todoWrapper {
display: flex;
align-items: center;
margin-bottom: 3rem;
}

.addTodoList {
width: 8rem;
height: 7rem;
padding: 1rem;
font-size: 8rem;
display: flex;
justify-content: center;
align-items: center;
border: none;
background-color: transparent;
}

.addListWrapper {
display: flex;
align-items: center;
margin-bottom: 5rem;
}

.deleteBtn {
background-color: transparent;
display: flex;
justify-content: center;
align-items: center;
margin-left: 1rem;
border: none;
font-size: 4rem;
color: gray;
}
Comment on lines +57 to +66

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

유저가 클릭해서 action을 취할 수 있는 부분에 대해서는 cursor : pointer 을 주는 것도 좋을 것 같아요


.todoCheckbox {
margin-right: 1.2rem;
width: 3rem;
height: 3rem;
}
217 changes: 217 additions & 0 deletions css/header.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,217 @@
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,
section {
display: block;
}
body {
position: relative;
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;
}

html {
font-size: 10px; /* Default font size */

/* Media query for tablet */
@media (min-width: 768px) and (max-width: 1023px) {
font-size: 8px;
}

/* Media query for mobile */
@media (min-width: 450px) and (max-width: 768px) {
font-size: 6px;
}
@media (max-width: 450px) {
font-size: 4px;
}
}
Comment on lines +126 to +141

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

모바일에서의 사용도 고려해서 구현하신게 인상 깊습니다!!


@font-face {
font-family: "GangwonState";
src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2307-2@1.0/GangwonState.woff2")
format("woff2");
font-weight: normal;
font-style: normal;
}

@font-face {
font-family: "Giants-Inline";
src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2307-1@1.1/Giants-Inline.woff2")
format("woff2");
font-weight: normal;
font-style: normal;
}

.container {
padding-top: 6rem;
min-width: 370px;
min-height: 100vh;
background: linear-gradient(to right, #dddddd, #ffffff, #dddddd);
}

header {
display: flex;
flex-direction: column;
align-items: center;
position: relative;
padding: 5rem;
}

header > div {
font-size: 10rem;
font-weight: 500;
font-weight: 600;
Comment on lines +176 to +177

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

두개 합치면 1100 !?!!?!?!?!?!

margin-bottom: 4rem;
font-family: "Giants-Inline";
}

header > button {
font-size: 5rem;
position: absolute;
background: transparent;
border-radius: 1rem;
right: 0;
}

.headerBtn {
width: 17rem;
height: 6rem;
padding: 2rem;
display: flex;
align-items: center;
border-radius: 1rem;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

width 뿐만 아니라 padding, border-radius까지! 모두 반응형이 가능한 단위들로 쓰셨네요! 은연중에 px 단위로 적게 되는 모든 단위들을 반응형이 가능한 단위로 생각할 수 있다는 사실과 함께, 이렇게도 쓸 수 있구나 배워갑니다. 또 반응형 뿐만 아니라 설정들을 적용하는 단위를 쪼개는 것에서 전반적인 css 에 대한 이해도가 높으신 게 느껴지는 것 같습니다ㅎㅎ!


.headerBtnWrapper {
font-size: 4rem;
display: flex;
align-items: center;
margin: 2rem 0;
}

#totalTodo {
background-color: wheat;
}

#nowTodo {
background-color: skyblue;
margin: 0 3rem;
}

#doneTodo {
background-color: pink;
}
35 changes: 30 additions & 5 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,37 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vanilla Todo</title>
<link rel="stylesheet" href="style.css" />
<title>Todo List</title>
<link rel="stylesheet" href="./css/header.css" />

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

css 파일 2개로 나눈 거 유지 보수할 때 용이할 것 같아요! 한 페이지에 모든 css를 담아야겠다고 생각했던 과거의 저를 조금 반성하게 되네요ㅎㅎ

<link rel="stylesheet" href="./css/board.css" />
</head>

<body>
<div class="container"></div>
<div class="container">
<header>
<div class="todoTitle">TO-DO LIST</div>
<div class="headerBtnWrapper">
<div class="headerBtn" id="totalTodo"></div>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

class / id 이렇게 주면 굳이 상위 div로 묶어주지 않아도 한 번에 스타일 설정할 수 있어서 좋네요! class와 id 사이에 어떤 기준으로 무엇을 선택해야 하나만 고민했었는데 이렇게 한 번에도 쓸 수 있겠구나 배워갑니다😄

<div class="headerBtn" id="nowTodo"></div>
<div class="headerBtn" id="doneTodo"></div>
</div>
</header>
<div class="todoBoardList"></div>
<div class="boards">
<div class="board" id="toDoBoard">

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

이번 과제에서는 html 구조가 단순한 편이긴 하지만 1주차 Key Questions 에 Semantic tag에 대한 질문이 있었으니, 이를 활용해서 코드를 짜면 장점들을 이용할 수 있어 좋을 것 같아요!

<div class="addListWrapper">
<input
class="boardInput"
id="todoBoardInput"
placeholder="입력하세요"
/>
<button class="addTodoList" id="todoAdd">+</button>
</div>
<div id="todoList"></div>
</div>
</div>
</div>
</body>
<script src="script.js"></script>
</html>
<script src="./script/header.js"></script>
<script src="./script/todo.js"></script>
</html>
Empty file removed script.js
Empty file.
Loading