다 아는 내용이지만 정리 느낌으로...
🔷 Hyper Text Markup Language
Hyper Text
: 참조를 통해 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트Markup
: 태그 등을 이용하여 문서나 데이터의 구조를 명기하는 언어🔷 태그 (Tag)
🔷 주석
<!----------------element----------------->
<!--시작 태그--><!--content--><!--종료 태그-->
<a href="https://www.naver.com/">네이버</a>
🔷 기본 구조
html
: HTML 최상위 요소, 문서의 root🌟
head
와body
로 구성되어있다.
head
: 문서제목, 문자코드(인코딩) 등 해당 문서에 대한 정보를 가지고 있고, 브라우저에는 화면으로 출력되지 않는다.meta
: 문서의 작성자, 날짜 등 본문에 나타나지 않는 일반 정보들body
: 브라우저 화면에 나타나는 정보로서 id
속성을 이용하여 문서 내에서 tag
식별이 가능하고 class
속성을 이용하여 여러 tag
에 공통적인 특성을 부여한다.🌟 id 속성은 중복이 불가능하나 class 속성은 중복이 가능하다.
🔷 특수 문자 (모든 엔티티 앞에 &이 붙는다)
엔티티 이름 | 설명 | 화면출력 |
---|---|---|
(&)nbsp; | Non-breaking space(공백) | |
(&)lt; | Less than | < |
(&)gt; | Greater than | > |
(&)amp; | Ampersand | & |
(&)quot; | Quotation mark | " |
(&)copy; | Copyright | © |
(&)reg; | registered trademark | ® |
🔷 Sementic tag
태그 이름 | 설명 |
---|---|
<header> | 문서 전체나 섹션이 헤더 |
<nav> | 네비게이션 |
<aside> | 사이드에 위치한 공간 |
<section> | 문서의 일반적인 구분 |
<article> | 문서, 페이지, 사이트 안에서 독립적으로 구분되는 영역 |
<footer> | 문서 전체나 섹션이 푸터 |
<h1> ~ <h6> | 6단계 구획 제목 |
<header>
<nav></nav>
</header>
<main>
<section>
<article></article>
<article></article>
</section>
<aside></aside>
</main>
<footer></footer>
🔷 Text content
태그 이름 | 설명 |
---|---|
<blockquote> | 긴 인용문, 주로 들여쓰기를 한 것으로 그려짐 |
<hr> | 구분선 |
<pre> | 공백, 줄바꿈 등 입력된 그대로 화면에 표시 |
<p> | 하나의 문단 |
<ul> | 정렬되지 않은 목록 (번호 없음) |
<ol> | 정렬된 목록 (번호 있음) |
<div> | 구문 컨텐츠를 위한 블록 컨테이너 |
🔷 Inline text semantics
태그 이름 | 설명 |
---|---|
<a> | href 특성을 통해 다른 페이지나 같은 페이지의 어느 위치, 파일, 이메일 주소와 그 외 다른 URL로 연결할 수 있는 하이퍼링크 생성 |
<b>, <strong> | 굵은 글씨, 중대하거나 긴급한 콘텐츠(strong) |
<br> | 텍스트 안에 줄바꿈을 생성 |
<i>, <em> | 기울게 표시, 특정 문자열을 강조(em) |
<q> | 짧은 인라인 인용문 |
<s> | 취소선 |
<u> | 밑줄 |
<sup>, <sub> | 위 첨자, 아래 첨자 |
<span> | 구문 컨텐츠를 위한 블록 컨테이너 |
💡 <a>의 경우 target="_self"로 설정하면 현재 창에서 이동하고 "_blank"로 설정 시 새 창을 띄운다.
💡 href는 #top: 위로, mailto: 이메일 보내기, tel: 페이스타임 등의 속성을 넣을 수 있다.
🔷 Image & Multimedia
태그 이름 | 설명 |
---|---|
<audio> | 소리 콘텐츠를 포함할 때 사용 |
<img> | 문서에 이미지 삽입 |
<video> | 미디어 플레이어를 문서에 삽입 |
💡 image의 alt 속성은 이미지가 보이지 않을 때 대신 보일 메시지를 넣는다.
🔷 Table content
태그 이름 | 설명 |
---|---|
<table> | 행과 열로 이루어진 표를 나타낸다. |
<thead> | 테이블의 열의 머리글인 행들의 집합 |
<tbody> | 표의 여러 행(tr)을 묶어서 표 본문 구성 |
<tfoot> | 테이블의 열을 요약하는 행들의 집합 |
<tr> | 테이블 행 |
<th>, <td> | 머리글, 데이터 |
<col> | 표와 열을 나타냄 |
<colgroup> | 표의 열을 묶는 그룹 정의 |
<caption> | 표의 설명 또는 제목을 나타냄 |
🔷 Forms
속성 | 설명 |
---|---|
method(GET) | 주소 표시줄에 사용자가 입력한 내용이 표시. 256~2048bytes의 데이터만 서버로 전송 |
method(POST) | HTTP 메세지의 Body에 담아서 전송하기 때문에 전송 내용의 길이에 제한이 없다. 사용자가 입력한 내용이 표시되지 않음. |
name | forms의 이름을 지정 |
action | <form> 태그 안의 내용들을 처리해 줄 서버상의 프로그램 지정 (URL) |
target | <action> 태그에서 지정한 스크립트 파일을 현재 창이 아닌 다른 위치에 열도록 지정 |
태그 이름 | 설명 |
---|---|
<form> | 정보를 제출하기 위한 대화형 컨트롤을 포함하는 문서 구획을 나타냄 |
<button> | 클릭 가능한 버튼을 나타냄 |
<input> | 웹 기반 양식에서 사용자의 데이터를 받을 수 있는 대화형 컨트롤 |
<label> | 사용자 인터페이스 항목의 설명을 나타냄 |
<select> | 옵션 메뉴를 제공하는 컨트롤을 나타냄 |
<option> | 항목 |
<textarea> | 멀티라인 일반 텍스트 편집 컨트롤을 나타냄 |
<fieldset> | 웹 양식의 여러 컨트롤과 레이블을 묶을 때 사용함 |
<legend> | fieldset 콘텐츠의 설명을 나타냄 |
🔷 input
태그 이름 | 설명 |
---|---|
autofocus | 페이지 로딩 후 폼의 요소 중에서 해당 요소에 마우스 커서를 표시. html5 이전에는 자바스크립트로 구현 |
placeholder | 텍스트를 입력할 때 도움이 되도록 입력란에 적당한 힌트 내용을 표시. 클릭 시 자동으로 내용이 사라짐. |
readonly | 입력란에 텍스트를 사용자가 직접 입력하지 못하게 읽기 전용으로 지정. readonly, readonly="readonly", readonly="true"로 표현 |
required | form에 data를 입력한 후 submit 클릭 시 data를 서버로 전송하기전 필수 입력 항목을 체크, required, required="required"로 표현. |
min, max, step | min, max는 해당 필드의 최대, 최소값 지정. step은 일정 간격 지정. type이 date, datetime, datetime-local, month, week, time, number, range에서 사용. |
size, minlength, maxlength | minlength, maxlength는 텍스트 입력 시 최대, 최소길이 지정. size는 화면에 보여지는 글자의 길이 지정. |
height, width | type="image"일 때 이미지의 너비와 높이를 지정 |
multiple | type="email"이나 type="file"일 때 두 개 이상의 값을 입력. <input> 태그 안에 속성 이름만 표시하면 됨. |
🔷 Cascading Style Sheets
.box {
background-color: red;
width: 100px;
height: 100px;
/* CSS 주석 */
}
🔷 적용 방법
<link>
를 사용하여 외부 스타일 시트 적용<head>
안에 작성<style>
태그 사이에 CSS 규칙 작성<head>
안에 작성Inline style
💡 스타일 적용 우선 순위는 '인라인 -> 내부 스타일 시트 -> 외부 스타일 시트' 순
🔷 HTML 문서에서 CSS 규칙을 적용할 요소를 정의
🔷 전체 선택자
* { /* style properties */ }
🔷 유형 선택자
element { /* style properties */ }
🔷 클래스 선택자
.class { /* style properties */ }
🔷 ID 선택자
#id { /* style properties */ }
🔷 선택자 목록
,
를 이용하여 선택자 그룹을 생성하는 방법 element, element { /* style properties */ }
🔷 자손 결합자
selector1 selector2 { /* style properties */ }
🔷 자식 결합자
selector > selector2 { /* style properties */ }
🔷 일반 형제 결합자
former-element ~ target-element { /* style properties */ }
🔷 인접 형제 결합자
former-element + target-element { /* style properties */ }
🔷 우선 순위
!important
가 우선 적용🔷 상속
💡 ex) color
💡 ex) border