아래 주석으로 설명함.
<!-- DOCType은 문서의 타입을 명시한다. -->
<!-- 아래와 같으면 html5버전임을 알린다 -->
<!DOCTYPE html>
<!-- html태그는 문서의 시작을 알린다. -->
<!-- 무조건 html문서에 포함되어야 한다. -->
<html lang="en">
<!-- head는 문서의 메타데이터가 들어간다 -->
<!-- 무조건 html문서에 포함되어야 한다 -->
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>내 홈페이지</title>
</head>
<!-- body는 문서의 내용이 들어가는 부분이다. -->
<!-- 무조건 html문서에 포함되어야 한다. -->
<body>
</body>
</html>

블록은 화면의 한줄만 포함.
높이와 넓이를 가질 수 있음.
태그가 내용만 감싼다
기본적으로 inline 엘리먼트처럼 전후 줄바꿈 없이 한 줄에 다른 엘리먼트들과 나란히 배치되지만, block 엘리먼트처럼 width와 height 속성 지정 및 margin과 padding 속성의 상하 간격 지정이 가능.
다시 말해서, 내부적으로는 block 엘리먼트의 규칙을 따르면서 외부적으로 inline 엘리먼트의 규칙을 따르게 되는 것
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
div {
background-color: red;
height: 100px;
}
span {
background-color: blue;
/* inline태그인 span태그는 높이와 넓이가 세팅이 되지 않는다 */
height: 100pxs;
}
.ib {
background-color: green;
height: 100px;
}
</style>
<title>Document</title>
</head>
<body>
<div>블록 태그입니다</div>
<span>인라인 태그입니다</span>
<span>인라인 태그입니다</span>
<div class="ib" style="display: inline-block;">인라인 블록 태그입니다</div>
<div class="ib" style="display: inline-block;">인라인 블록 태그입니다</div>
</body>
</html>

태그 안의 태그를 자식이라고 한다.
자신을 감싼 태그를 부모라고 한다.
자신과 같은 범위에 있는 태그를 형제라고 한다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.first {
background-color: red;
}
</style>
<title>Document</title>
</head>
<body>
<div>
<div class="first">첫째</div>
<div>둘째</div>
<div>
<div>첫째손자</div>
</div>
</div>
</body>
</html>

줄바꿈, 들여쓰기를 하지 않으면 가독성이 떨어진다.
Prettier가 정렬해준다.
ctrl + alt + L