css의 class 이름을 어떻게 지어야 하며 어떨때 써야하는지 고민이 많이 될것이다.
수업을 마치고 클래스 작명과 구분 방법에 대하여 공부 겸 정리를 하려고 한다.
가장 많이 헷갈리는 div, article, section 구분에 대해 먼저 시작하려고 한다.
<div>
요소는 "순수" 컨테이너로서 아무것도 표현하지 않는다. 대신 다른 요소 여럿을 묶어 class, id 속성으로 꾸미기 쉽도록 돕거나, 문서의 특정 구역이 다른 언어임을 표시하는 등의 용도로 사용할 수 있다.<div>
는 division의 약자입니다. 별도의 의미가 없고, 그냥 정말 어떤 내용이든 담을 수 있는 박스라고 생각하면 된다.<div>
요소는 의미를 가진 다른 요소 (article
, section
, nav
등)가 적절하지 않을 때만 사용해야 한다.<article>
tag는 문서, 페이지, 애플리케이션, 또는 사이트 안에서 독립적으로 구분해 배포하거나 재사용할 수 있는 구획을 나타낸다.<article>
을 가질 수 있다.<article>
요소가 되며, 그 안에는 또 여러 개의 <section>
이 존재할 수 있다.<article>
을 식별할 수단이 필요하다. 주로 제목(<h1>
~ <h6>
)요소를 <article>
의 자식으로 포함하는 방법을 사용한다.<article>
요소가 중첩되어 있을 때, 안쪽에 있는 요소는 바깥쪽에 있는 요소와 관련된 글을 나타낸다.<article>
요소 안에 중첩한 <article>
로 나타낼 수 있다.<article>
요소의 작성 일자와 시간은 <time>
요소의 datatime 속성을 이용하여 설명할 수 있다.HTML의 <section>
요소는 HTML 문서의 독립적인 구획을 나타내며, 더 적합한 의미를 가진 요소가 없을 때 사용합니다. 보통 <section>
은 제목을 포함하지만, 항상 그런 것은 아니다.
사용 방법은 각각의 <section>
을 식별할 수단이 필요하다. 주로 제목(<h1>
~ <h6>
) 요소를 <section>
의 자식으로 포함하는 방법을 사용한다.
요소의 컨텐츠를 따로 구분해야 할 필요가 있으면 <article>
요소를 고려한다.
<section>
요소를 일반 컨테이너로 사용하면 안 된다. 특히 단순히 스타일링이 목적이라면 <div>
요소를 사용하는 것이 좋다. 대게 문서 요약에 해당 구획이 논리적으로 나타나야 하면 <section>
이 좋은 선택이다.
<div>
<p>시도할 횟수를 입력해주세요.</p>
<input name="racingCount" placeholder="10" />
<button>확인</button>
</div>
<section>
<h2 hidden>시도할 횟수 입력</h2>
<label for="racingCount">시도할 횟수를 입력해주세요.</label>
<input type="number" name="racingCount" placeholder="10" />
<button>확인</button>
</section>
크게 상위요소로는
header
/section
/gnb
/footer
가 있고,
그 아래로는group
→area
→wrap
→box
순으로 정렬을 할 수 있다.
✅옳은 예시
group
→ area
→ wrap
→ box
(⭕)
<div class="group">
<div class="area">
<div class="wrap">
<div class="box">
<p>안녕</p>
</div>
</div>
</div>
</div>
✅틀린 예시
group
→ area
→ box
→ wrap
(❌)
<div class="group">
<div class="area">
<div class="box"> 👎
<div class="wrap">👎
<p>안녕</p>
</div>
</div>
</div>
</div>
box
는wrap
보다 작은 크기의 클래스명으로,
wrap
보다 상위의 클래스로 존재하면 안된다.
section 태그의 클래스명은 대게 아래와 같이 짓고
000에는 숫자나 간략하게 설명가능한 콘텐츠 이름을 집어넣는다.