본문 바로가기

기술들/javascript

Twittler과제(1) - HTML부분

코드스테이츠 과제인 Twittler를 진행하면서 그 과정에 대해 글을 써보려고 한다. 과제를 하면서 무슨 생각으로 이 코드를 썼었는지 정리해보고 싶고, 정리를 하면서 얻게되는 <새로운 관점으로 보게 되는 역량>을 키우고 싶어서 과제를 글로 정리해보려고 한다. 

 

 

왼쪽 이미지가 목업(예시), 오른쪽 이미지가 목업을 보고 figma로 구상한 와이어프레임이다. 

(1) 전체적인 부분을 우선 container를 class로 하는 <div>태그로 묶었다.

이유 : 전체를 div 태그로 다시 묶은 이유는 나중에 css로 전체를 가운데 정렬하기 쉽도록 하기 위해서였다. 이 <div>태그는 <body>태그의 유일한 자식이고 아래 구성한 모든 컨텐츠의 부모 역할을 한다.

(사실 이 웹에서 유일한 것(?)이기 때문에 id로 지정해도 됬지만 그냥 class로 통일했다, 사실 li를 제외한 모든 부분을 id로 지정해줘도 되지 않을까? 이 목업에서는 하나씩밖에 안쓰이니까..?) 

 

(2) 제일 상단 제목(twittler)부분은 <header>태그로 묶었다. 

이유 : 제목부분은 좀 더 직관적으로 어떤 컨텐츠인지 확인할 수 있는 <header>라는 semantic태그를 사용했다. 태그이름 자체만으로도 어떤 부분인지 쉽게 알 수 있다. 

 

(여러 자료를 보긴 했지만 semantic태그를 어떤 영역에 써야 되는지 아직 확실하지 않다. 거의 90% 느낌으로 이 부분이 section영역일 꺼야, main역할을 하는 부분일꺼야 라는 감😅️으로 태그를 사용했다...)

 

(3) 그 나머지 부분은 모두 <header>태그와 동등한 <section>이라는 태그로 묶었다. 

이유 : 이 twittler페이지의 기능이 comment를 입력하면 아래 게시글에 표시되는 형태이다. 즉, 입력하는 부분과 표시되는 부분이 모여 하나의 기능을 이루기 때문에, 하나의 영역으로 보고 <section>태그로 묶었다. 이 역시 semantic태그이다. 

 

그리고 section태그의 자식으로 

(4) Username과 Comment 그리고 tweet하는 버튼은 <main>태그로 묶었다,

이유 :  입력하는 부분으로, 나는 이 부분을 전체 페이지의 핵심역할을 하는 부분으로 생각했다. 그래서 <main>이라는 semantic 태그로 묶었다. 

 

(5) check new Tweet이라는 버튼이 있는 부분은 따로 <main>태그와 동등한 <div> 태그로 묶었다.

이유 : 처음에 목업을 보면서 이 부분이 무슨 역할을 하는지 몰랐었다. 그리고 무슨 semantic태그로 묶어야 할지 딱히 생각이 나지 않아 check new Tweet이라는 class를 지정하여 <div> 태그로 설정했다. 

 

(6) 입력했던 결과가 표시되는 제일 하단 부분은 역시 <main>태그와 동등한<article>이라는 태그로 묶었다. 

이유 : <main>태그에서 입력한 부분을 표시하는 부분이다. 게시물, 기사처럼 표시되어 있어 '기사'라는 의미를 가진 article태그로 묶었다. 

이를 상하관계로 간략히 표현하면 

div.container > header = section > main = div= article

 

그리고 버튼들은 모두 <button>태그로 만들었다(페어분은 <input type="button">으로 하셨다. button태그와 input태그의 차이가 뭔지 궁금하다). 그리고 main과 article의 안쪽 세부 코드들에 대해서는 정리를 안했는데 이는 CSS파트에서 정리해보려고 한다.