시맨틱(semantic)은 "의미론적인"이란 뜻을 가지고, 마크업(markup)은 HTML 태그로 문서를 작성하는 것을 말한다. 따라서 시맨틱 마크업은 의미를 잘 전달하도록 문서를 작성하는 것을 말한다.
각 태그를 용도에 맞게 사용하여 문서를 작성한다.
<header>
와 <footer>
태그 사용<main>
과 <section>
사용<article>
사용<h1>
사용<ul>
, <li>
사용<nav>
사용 위와 같이 각 태그가 가지고 있는 의미에 맞게 사용하고, css 스타일을 명시하는 태그를 사용하지 않는 것 또한 시맨틱 마크업이다. 즉, 태그가 가지는 의미 자체가 스타일이라면 이는 마크업 자체가 스타일을 갖는 것이기 때문에 시맨틱 마크업에 적합하지 않다.
예전에는
<div>
요소가 모두 묶어서 포함시킬 수 있어 header도<div>
로 footer도<div>
로 묶어 사용하였기 때문에 HTML에서 가장 많이 사용되었다. 그러다 전체 웹사이트를 구조적으로 분리해서 분리된 각각의 틀을 의미가 있는 요소들로 묶은 것이 시맨틱 요소들이다.
<div>
, <span>
에 둘러싸인 요소들보다 코드의 가독성이 좋아 유지보수에 좋다.<strong>
, <b>
태그는 동일한 효과를 부여한다. 둘은 동일하게 글자색을 진하게 하지만 <b>
태그의 경우는 그 자체가 "bold" 의 약어이기 때문에 태그 자체가 스타일을 가진다고 할 수 있다. 하지만 <strong>
의 경우는 "그 안의 내용이 다른 내용보다 더 강조되어야 한다" 라는 의미를 가지기 때문에 시맨틱 마크업에 더 적합하다.
<article>
태그는 독립적이고 독립적인 콘텐츠를 지정할 때 쓰이는데, 그 자체로 의미가 있어야 하고 사이트의 나머지 부분과 독립적으로 배포도 가능해야 한다. <section>
태그는 공통된 내용을 담고 있는 부분을 묶어준다. 그리고 <section>
안에 <article>
을, 또 <article>
안에 <section>
을 사용할 수도 있다. 어떤 상황에서 <section>
과 <article>
을 써야 하는 걸까?
<strong>
vs <b>
<section>
vs <article>
<i>
vs <em>
<i>
태그는 시각적으로 글자가 기울어져 보이게 하는 효과를 줄 때 사용
<em>
태그는 문서에서 기울임 효과를 이용하여 강조하고 싶을 때 사용
<button>
vs <a>
<button>
은 글쓰기, 로그인 등 특정한 액션을 위해서 사용
<a>
는 다른 페이지로 이동하기 위해 링크를 걸 때 사용
https://github.com/baeharam/Must-Know-About-Frontend/blob/main/Notes/html/semantic.md