HTML 기초 총정리
본 글은 패스트캠퍼스의 “한 번에 끝내는 파이썬 웹 개발 초격차 패키지” 강의를 개인 실습하여 정리했습니다.
기초 개념
HTML (Hyper Text Markup Language)
- 페이지의 제목, 문단, 표, 이미지, 동영상 등 웹의 구조를 담당 (안에 들어있는 구조들만 작성)
CSS (Cascading Style Sheets)
- 실제 화면에 표시되는 방법(색상, 크기, 폰트, 레이아웃 등)을 지정해 콘텐츠를 꾸며주는 시각적인 표현(정적)을 담당
JS (JavaScript)
- 콘텐츠를 바꾸고 움직이는 등 페이지를 동작시키는 동적 처리를 담당
동작 원리
- User, Client (요청)-> <-(응답)Server, DataBase
- 웹 표준(Web Standard) : 웹에서 사용되는 표준 기술이나 규칙
- W3C의 표준화 제정 단계의 ‘권고안(REC)’에 해당하는 기술
- 크로스 브라우징(Cross Browsing) : 조금은 다르게 구동되는 여러 브라우저에서 동일한 사용자 경험(같은 화면, 같은 동작 등)을 줄 수 있도록 제작하는 기술, 방법
특수 문자 용어
- ` : Backtick, Grave (백틱, 그레이브)
- ~ : Tilde (틸드, 물결 표시)
- ! : Exclamation mark (엑스클러메이션, 느낌표)
- @ : At sign (앳, 골뱅이)
- # : Sharp, Number sign (샵, 넘버, 우물 정)
- $ : Dollar sign (달러)
- % : Percent sign (퍼센트)
- ^ : Caret (캐럿)
- & : Ampersand (엠퍼센드)
- * : Asterisk (에스터리스크, 별표)
- - : Hyphen, Dash (하이픈, 대시, 마이너스)
- _ : Underscore, Low dash (언더스코어, 로대시, 밑줄)
- = : Equals sign (이퀄, 동등)
- “ : Quotation mark (쿼테이션, 큰 따옴표)
- ‘ : Apostrophe (아포스트로피, 작은 따옴표)
- : : Colon (콜론)
- ; : Semicolon (세미콜론)
- , : Comma (콤마, 쉼표)
- . : Period, Dot (피리어드, 닷, 점, 마침표)
- ? : Question mark (퀘스천, 물음표)
- / : Slash (슬래시)
- \ : Bachslash (백슬래시, 역 슬래시)
- | : Vertical bar (버티컬 바)
- (): Parenthesis (퍼렌서시스, 소괄호, 괄호)
- {} : Brace (브레이스, 중괄호)
- [] : Bracket (브래킷, 대괄호)
- <> : Angle Bracket (앵글 브래킷, 꺽쇠괄호)
HTML 기본 문법
<태그>내용</태그>
=<h1>Hello world!</h1>
- 이 전체를 요소(Element)라 부른다. 앞에 태그를 열린 태그라 하고, 뒤에 태그를 종료 태그라 한다.
<태크 속성="값">내용</태그>
- 속성(Atrribute) | 값(Value) -> 기능의 확장
<태그>
: 빈(Empty) 태그<태그/>
: 태그를 시작하자마자 종료를 시킨다. (XHTML 또는 HTML5에서 가능)
HTML 요소의 관계
<div>Contents</div>
- div = division 무언가를 분할한다.
<div><div>Contents</div></div>
- 부모 요소와 자식 요소 파악!!
- 한줄로 적으면 알아보기 힘들다
- 상위(조상) 요소는 나를 감싸는 모든 상위 요소. 반대는 하위(후손) 요소
- tab (Indent, 들여쓰기)
- shift + tab (Outdent, 내어쓰기)
- 형제 요소
글자와 상자
-
요소가 화면에 출력되는 특성, 크게 2가지로 구분
- 인라인(Inline) 요소 : 글자를 만들기 위한 요소들
- 블록(Block) 요소 : 상자(레이아웃)를 만들기 위한 요소들
인라인
<span></span>
: 대표적인 인라인 요소 (본질적으로 아무것도 나타내지 않는, 콘텐츠 영역을 설정하는 용도)- 요소가 수평으로 쌓이는 특징
- 포함한 콘텐츠 크기만큼 자동으로 줄어듦!
-
포함한 콘텐츠 크기만큼 자동으로 줄어듦!
<span style='width: 100px>Hello</span>
: 요소에 가로 사이즈를 100픽셀 만큼 지정하겠다. (css 속성)-
<span style='height: 100px>World</span>
: 요소에 세로 사이즈를 100픽셀 만큼 지정하겠다. (css 속성) -> 인라인 크기는 모양을 지정할 수 없다. <span style="margin: 20px 20px;">Hello</span>
: 요소의 외부 여백을 지정하는 CSS 속성 (위 아래는 X)-
<span style="padding: 20px 20px;">Hello</span>
: 요소의 내부 여백을 지정하는 CSS 속성 (위 아래는 X) -> 인라인은 글씨를 다루는 것이다. - 인라인 요소의 내부는 블록 요소는 넣을 수 없다.
<span><div></div></span>
: x<span><span></span></span>
: o
블록
<div></div>
: 대표적인 블록 요소 (본질적으로 아무것도 나타내지 않는, 콘텐츠 영역을 설정하는 용도)- 요소가 수직으로 쌓이는 특징
- 부모 요소의 크기만큼 자동으로 늘어남! (가로) (최대한 늘어나려고 한다)
- 포함한 콘텐츠 크기만큼 자동으로 줄어듦! (세로) (최대한 줄어드려고 한다)
<div style="width": 100px>Hello</div>
: 요소의 가로 너비를 지정하는 CSS 속성<div style="height": 100px>Hello</div>
: 요소의 세로 너비를 지정하는 CSS 속성<div style="margin: 20px 20px;">Hello</div>
: 요소의 외부 여백을 지정하는 CSS 속성 (위 아래는 X)-
<div style="padding: 20px 20px;">Hello</div>
: 요소의 내부 여백을 지정하는 CSS 속성 (위 아래는 X) -> 블록 요소는 모두 가능하다. (레이아웃을 잡는 용도이기 때문에 별도의 제약이 있으면 안된다.) <div><div></div></div>
: o<div><span></span></div>
: o
주요 요소 정리 - 정보 태그
!를 눌러 기본 구조를 완성한다.
<html></html>
: 문서의 전체 범위 (HTML 문서가 어디에서 시작하고, 어디에서 끝나는지 알려주는 역할)<head></head>
: 문서의 정보를 나타내는 범위- 웹 브라우저가 해석해야 할 웹 페이지의 제목, 설명, 사용할 파일 위치, 스타일(CSS) 같은, 웹페이지의 보이지 않는 정보를 작성하는 범위
<body></body>
: 문서의 구조를 나타내는 범위- 사용자 화면을 통해 보여지는 로고, 헤더, 푸터, 내비게이션, 메뉴, 버튼. 이미지 같은, 웹페이지의 보여지는 구조를 작성하는 범위 -> HTML은 크게 정보과 구조로 나뉘어져 있다.
<!DOCTYPE html>
: 문서의 HTML 버전을 지정- DOCTYPE(DTD, Document Type Definition)은 마크업 언어에서 문서 형식을 정의하며, 웹 브라우저가 어떤 HTML 버전의 해석 방식으로 페이지를 이해하면 되는지를 알려주는 용도
<meta />
: HTML 문서(웹페이지)의 제작자, 내용, 키워드 같은, 여러 정보를 검색엔진이나 브라우저에게 제공- 빈 테크 (닫힌 테그가 없다.)
charset=
: 문자인코딩 방식name=
: 정보의 종류author
: 저자viewport
: 실제로 화면이 출력되는 영역
content
: 정보의 값
<title></title>
: HTML 문서의 제목(title)을 정의- 웹 브라우저 탭에 표시됨
<link />
: 외부 문서를 가져와 연결할 때 사용 (대부분 CSS 파일)rel
: 가져올 문서와 관계 (relation의 약자)href
: 가져올 문서의 경로 (hypertext reference의 약자)./
: 현재 문서 경로
-
style
: 스타일(CSS)를 HTML 문서 안에서 작성하는 경우에 사용. <script src=" "></script>
: 자바스크립트(JS)파일 가져오는 경우-
<script>console.log('Hello world!')</script>
: 자바스크립트(JS)를 HTML 문서 안에서 작성하는 경우 - 요소 == 태그
- 요소 : 시작하는 태그와 끝나는 태그의 전체 코드
- 태그 : 그 코드가 가지고 있는 이름 정도
주요 요소 정리 - 구조 태그
<div></div>
: 특별한 의미가 없는 구분을 위한 요소. (block element) (Division) (한마디로 막 사용할 수 있는 태그)<h1></h1>
: 제목을 의미하는 요소 (block element) (Heading)- h 다음 숫자는 제목 크기를 뜻함 (숫자가 작을수록 더 중요한 제목을 정의)
<p></p>
: 문장을 의미하는 요소 (block element) (Paragraph)<img />
: 이미지를 삽입하는 요소 (inline element) (Image)src
: 삽입할 이미지의 경로alt
: 삽입할 이미지의 이름 (이미지 대신에 나타날 글자)
<ul></ul>
: 순서가 필요없는 목록의 집합을 의미 (block element) (Unordered List)-
<li></li>
: 목록 내 각 항목 (block element) (List Item) <a></a>
: 다른/같은 페이지로 이동하는 하이퍼링크를 지정하는 요소 (inline element) (Anchor)target=
: 링크 URL의 표시(브라우저 탭) 위치
<span></span>
: 특별한 의미가 없는 구분을 위한 요소 (inline element)- 스타일(CSS) 추가 가능
<br>
: 줄바꿈 요소. (inline element) (Break)- enter 키와 동일한 기능
- self-closing tag
<input />
: 사용자가 데이터를 입력하는 요소 (inline-block element)type="text"
: 입력받을 데이터의 타입- 텍스트를 입력할 수 있는 UI 제공
value=
: 미리 입력된 값(데이터)placeholder=
: 사용자가 입력할 값(데이터)의 힌트disabled
: 입력 요소 비활성화- 상황에 따라 JS로 제어한다.
- 별도의 입력 값이 존재하지 않는다.
HTML 주석과 전역 속성
<!--Comment-->
: 수정사항이나 설명 등을 작성(주석).- 브라우저는 이 태그를 해석하지 않기 때문에 화면에 내용이 표시되지 않음
ctrl + /
전역
- 어떤 요소에도 상관없는, 전체 영역에 쓸 수있는
<태그 style="스타일"></태그>
: 요소에 적용할 스타일(CSS)을 지정- style은 어떤 태그에도 쓸 수 있다.
<태그 class="이름"></태그>
: 요소를 지칭하는 중복 가능한 이름<태그 id="이름"></태그>
: 요소를 지칭하는 고유한 이름
댓글남기기