Hyper Text Markup Language의 약자로 tag들로 이루어진 웹 페이지의 틀을 구성하는 마크업 언어 이다.
tag : 부등호(<>)로 묶인 HTML의 기본 구성 요소
TREE STRUCTURE
- HTML 문서 시작
- html
- head
- title : Page Title
- body
- h1
- div
- span
태그 내부에 내용이 없다면(<tag></tag>와 같이 표현되는 경우)<tag />와 같이 표기한다.
시맨틱은 "의미의, 의미론적인"이라는 뜻을 가지고 있다.
HTML4에서는 <div>태그로 모든 구조를 만들지만 HTML5에서는 <header><nav><section>등과 같은 시맨틱 태그를 사용한다.
왜 시맨틱 태그를 사용해야 하는가?
기존에 <div>태그 안에 id나 class 속성으로 개발자별로 각자 이름을 지정했기 때문에 검색 엔진이 html파일을 분석할 때 정확하게 컨텐츠를 분석하기 힘들었다. 하지만 HTML5 부터 제공되는 시멘틱 태그는 태그가 의미를 가짐으로서 검색엔진의 크롤링에게 사이트에 대한 정보를 비교적 정확하게 전달할 수 있게 된다.
시맨틱 태그 종류
<article>: 문서나 사이트에서 독립된 컨텐츠 영역을 지정
<aside>: 페이지의 왼쪽 혹은 오른쪽에 위치한 컨텐츠 영역을 의미
<details>: 추가 정보를 기술하는 영역
<dialog>: 대화상자나 창을 지정하여 opne속성을 사용하여 숨기거나 보이도록 할 수 있다.
<figure>: 문서 흐름상 이해를 위해 피룡한 그림, 동여상을 포함할 때 사용
<figcaption>:<figure>요소의 제목을 지정
<footer>: 문서나 Section의 하단 정보 영역
<header>: 문서나 SEction 상단 정보 영역
<main>: 문서의 주 컨텐츠영역을 지정
<mark>: 마크되거나 강조된 텍스트를 의미
<menuitem>: 팝업메뉴의 아이템을 지정
<nav>: 문서의 네비게이션을 의미
<section>: 섹션은 일반적으로 제목이있는 주제별 콘텐츠 그룹
CSS는 Cascading Style Sheets의 약자로 웹 페이지 구성요소의 스타일을 정의한다.
<head>
<link rel="stylesheet" href="style.css" />
</head>
<head>
<style>
html,
body {
margin: 0;
}
h1 {
color : #000;
}
</style>
</head>
<h1 style="color:lightgray">Hello World</h1>
CSS 선택자란 CSS 속성값을 적용하기 위해 어떤 HTML요소를 선택해야 하는지를 브라우저에 알려주는 요소 및 기타 용어의 패턴이다.
예를 들어
h1 {
color: red;
font-size: 30px;
}
이렇게 HTML 문서의 모든<h1>태그들은 {}안에 적용한 css 속성 값들이 적용된다.
이 처럼 태그 이름 이 외에 선택자를 주는 방법이 있다.
h1{
color : red;
font-size: 30px;
}
.box {
border: 1px solid #000;
}
#unique{
background: lightgray;
}
<!-- 요소에 특정 속성이 있는지에 따라 요소를 선택 -->
a[title] {
text-decoration: none;
}
<!--특정 값을 가진 속성의 존재 여부 기반 -->
a[href="https://index.com"]{
text-decoration: none;
}
<!-- 요소의 특정 상태를 스타일링하는 pseudo-classes -->
a:hover{
color: red;
}
<!-- 요소 자체가 아닌 요소의 특정 부분을 선택하는 pseudo-elements -->
p::first-line{
color: blue;
}
<!-- 문서 내의 요소를 대상으로 하기 위해 다른 선택자를 결합 -->
article > p {
font-size: 30px;
}