HTML (Hyper Text Markup Language)
1. HTML ์ด๋?
์น ํ์ด์ง์ ๊ตฌ์กฐ๋ฅผ ์ง๋ ๋งํฌ์ ์ธ์ด
๋งํฌ์
์ธ์ด๋?
ํ๊ทธ๋ ์๋ ํ ์คํธ์๋ ๋ณ๊ฐ๋ก ์๊ณ ์ ๊ต์ ๋ถํธ๋ ์ฃผ์์ ํํํ๊ธฐ ์ํ ๊ฒ์ด์์ผ๋, ์ฉ๋๊ฐ ์ ์ฐจ ํ์ฅ๋์ด ๋ฌธ์์ ๊ตฌ์กฐ๋ฅผ ํํํ๋ ์ญํ ์ ํ๊ฒ ๋์๋ค. ์ด๋ฌํ ํ๊ทธ ๋ฐฉ๋ฒ์ ์ฒด๊ณ๋ฅผ ๋งํฌ์ ์ธ์ด๋ผ๊ณ ํ๋๋ฐ, ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ ํ๋ ์ ๋๋ก๋ง ์ฌ์ฉ ๋๊ธฐ ๋๋ฌธ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์๋ ๊ตฌ๋ณ๋๋ค. ์ฐธ๊ณ : ์ํคํผ๋์
ํ๊ทธ๋ ์๋ ํ ์คํธ์๋ ๋ณ๊ฐ๋ก ์๊ณ ์ ๊ต์ ๋ถํธ์ ์ฃผ์์ ํํํ๊ธฐ ์ํ ๊ฒ์ด์์ผ๋, ์ฉ๋๊ฐ ์ ์ฐจ ํ์ฅ๋์ด ๋ฌธ์์ ๊ตฌ์กฐ๋ฅผ ํํํ๋ ์ญํ ์ ํ๊ฒ ๋์๋ค. ์ด๋ฌํ ํ๊ทธ ๋ฐฉ๋ฒ์ ์ฒด๊ณ๋ฅผ ๋งํฌ์ ์ธ์ด๋ผ๊ณ ํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ ํ๋ ์ ๋๋ก๋ง ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์๋ ๊ตฌ๋ณ๋๋ค.
์ง์ ์ง๊ธฐ ์ํด ๋๋ฉด์ ๊ทธ๋ฆฐ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
์๋ฅผ ๋ค์ด, ์น์ฌ์ดํธ ์์ ๋ก๊ทธ์ธ ํ์ด์ง๋ฅผ ๋ง๋ ๋ค๊ณ ํด๋ณด์.
๊ทธ๋ ๋ค๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์์ด๋์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ ์ ์๋ ์ ๋ ฅํผ์ด ํ์ํ๊ฒ ๋ค. ๋ํ ๋ก๊ทธ์ธ์ผ๋ก ์ด์ด์ง๋ ๋ฒํผ๊ณผ, ๋ก๊ทธ์ธ ์ ์ง ์ฌ๋ถ๋ฅผ ๋ฌผ์ด๋ณด๋ ์ฒดํฌ๋ฐ์ค๋ ๋ฃ์ด๋ณด์. HTML ์ฝ๋๋ก ์์ฑํ๋ฉด ์์ ๊ฐ์ ํ๋ฉด์ ๋ง๋ค ์ ์๋ค.
2. HTML ๊ธฐ๋ณธ ๊ตฌ์กฐ
<!DOCTYPE html>
์ด ๋ฌธ์๊ฐ HTML ๋ฌธ์์์ ๋ช
์
<html>
html ์์ ํ๊ทธ๋ก, ๋ฌธ์ ์ ์ฒด์ ํ์ ๊ตฌ์ฑ
<head>
๋ฌธ์์ ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์ ์ธ
<title>
๋ฌธ์์ ์ ๋ชฉ, ๋ธ๋ผ์ฐ์ ํญ์ ๋ณด์ฌ์ง
<body>
๋ฌธ์์ ๋ด์ฉ์ ๋ด๋ ๊ณณ
<div>
content division์ ์๋ฏธ, ์ค๋ฐ๊ฟ ๋จ
<span>
์ค๋ฐ๊ฟ ์๋ content ์ปจํ
์ด๋
<a>
๋งํฌ ์ฝ์
์ ์ฌ์ฉ
<img>
์ด๋ฏธ์ง ์ฝ์
์ ์ฌ์ฉ
<input>
ํ
์คํธ, ๋ผ๋์ค ๋ฒํผ, ์ฒดํฌ๋ฒํผ ์ฝ์
<button>
๋ฒํผ ์ฝ์
3. HTML ๊ธฐ๋ณธ ๋ฌธ๋ฒ
์ด๋ฏธ์ง ์ฝ์
<html>
<head></head>
<body>
<div>div ํ๊ทธ๋ ํ ์ค์ ์ฐจ์งํฉ๋๋ค</div>
<div>division 2</div>
<span>span ํ๊ทธ๋ ์ปจํ
์ธ ํฌ๊ธฐ๋งํผ ๊ณต๊ฐ์ ์ฐจ์งํฉ๋๋ค</span>
<span>span 2</span>
<span>span 3</span>
<div>division 3</div>
<img src="https://obj-kr.the1.wiki/data/322eebacb4eca78026616d703becbd9828ecb9b4ecb9b4ec98a4ed9484eba08ceca68820eab3b5ec8b9dec82aceca784292e706e67.png">
<a href="http://naver.com" target="_blank">๋ค์ด๋ฒ ๋ฐ๋ก๊ฐ๊ธฐ</a>
</body>
</html>
ul, li ๋ฆฌ์คํธ
ul: unordered list
ol: ordered list
<html>
<head></head>
<body>
<ol>
<li>item 1</li>
<li>item 2</li>
<ul>
<li>item 3</li>
</ul>
</ol>
</body>
</html>
input, textarea
<html>
<head></head>
<body>
<div>
ID <input type="text" placeholder="type here">
</div>
<div>
password <input type="password">
</div>
<div>
<input type="checkbox"> ๋ค์ ์ ์ ์ ์์ด๋ ๊ธฐ์ตํ๊ธฐ
</div>
<input type="radio" name="option1"> ์ต์
A
<input type="radio" name="option1"> ์ต์
B
<div>
<textarea></textarea>
</div>
<div>
<button>๋ก๊ทธ์ธ</button>
</div>
</body>
</html>
4. ์๋งจํฑ ์์
์๋ฏธ
sementic: ์๋ฏธ๊ฐ ์๋
ex. top level heading์ ํํํ ๋ ์ฌ์ฉํ๋ ์์์ธ
<h1>
์์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, ๋ธ๋ผ์ฐ์ ๊ฐ ํฐ ํฐํธ ์ฌ์ด์ฆ๋ฅผ ์ ์ฉํ ๋ฟ ์๋๋ผ, ์์๋๋ก ๊ฐ๊ฒฉ์ ์ฃผ์ด ์ ๋ชฉ์ฒ๋ผ ๋ณด์ด๋๋ก ํจ
์ฌ์ฉํ๋ ์ด์
๊ฒ์์์ง์ด ์๋งจํฑ ์์๋ฅผ ๋ ์ข์ํ๊ธฐ ๋๋ฌธ โ ์๋งจํฑ ์์์ ๋ด๊ธด ์๋ฏธ์ ๋ฐ๋ผ ๊ฒ์ ๊ฒฐ๊ณผ ์์ ๋ ธ์ถ์ด ๊ฒฐ์ ๋ ์ ์๋ค๋ ๊ฒ์
์ฌ๋ฌ ๊ฐ๋ฐ์๊ฐ ํจ๊ป ์์ ํ ๋
<div>
์์๋ฅผ ํ์ํ๋ ๊ฒ๋ณด๋ค ์๋ฏธ์๋ ์ฝ๋ ๋ธ๋ก์ ์ฐพ๋ ๊ฒ์ด ํจ์ฌ ๋ ํธ๋ฆฌํ๊ณ , ์์ ์์ ์ฑ์์ง ๋ฐ์ดํฐ ์ ํ ์์ธก๋ ์ฌ์๋ฐ๋ผ์, HTML ์์ ์์ฑ ์, ์์ฑํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ์ ์ค๋ช ํ ์ ์๋ ์์๋ ๋ฌด์์ผ์ง ๊ณ ๋ ค ํ์
์ฃผ์ ์ฌ์ฉ๋๋ ์์๋ค
<article>
๋
๋ฆฝ์ ์ด๊ณ ์์ฒด ํฌํจ๋ ์ปจํ
์ธ ์ง์
<aside>
๋ณธ๋ฌธ์ ์ฃผ์ ๋ถ๋ถ์ ํ์ํ๊ณ ๋จ์ ๋ถ๋ถ์ ์ค๋ช
, ํน๋ณํ ์ผ์ด ์๋ ์ด์ ์ฌ์ด๋๋ฐ๋ ๊ด๊ณ ์ฐฝ ๋ฑ ์ค์ํ์ง ์์ ๋ถ๋ถ์ ์ฌ์ฉ
<footer>
์ผ๋ฐ์ ์ผ๋ก ํ์ด์ง๋ ํด๋น ํํธ์ ๊ฐ์ฅ ์๋ซ๋ถ๋ถ์ ์์น. ์ฌ์ดํธ์ ๋ผ์ด์ ์ค, ์ฃผ์, ์ฐ๋ฝ์ฒ๋ฅผ ๋ฃ์ ๋ ์ฌ์ฉ
<header>
ํ์ด์ง๋ ์น์
์ ๊ฐ์ฅ ์๋ถ๋ถ, ์ฌ์ดํธ์ ์ ๋ชฉ์ด ํฌํจ๋๊ฑฐ๋ ์๋จ๋ฐ, ๊ฒ์์ฐฝ์ด ๋ค์ด๊ฐ ์๋
<nav>
์ผ๋ฐ์ ์ผ๋ก ์๋จ๋ฐ ๋ฑ ์ฌ์ดํธ๋ฅผ ์๋ดํ๋ ์์์ด๋ฉฐ, ๋ณดํต์ ์์ <ul>์ ๋ฃ์ด ๋ชฉ๋ก ํํ๋ก ์ฌ์ฉ
<main>
๋ฌธ์์ ์ฃผ๋ ์ปจํ
์ธ ํ์
5. ๊ฐ ์์ญ์ ์ด๋ฆ ๋ถ์ฌ์ฃผ๊ธฐ
id
๊ณ ์ ํ(unique) ์ด๋ฆ์ ๋ถ์ผ ๋. ํ๋ฒ๋ง, ์ฌ์ค ๋๋ฌผ๊ฒ ์ฌ์ฉ๋จ
<!--HTML-->
<div id=โwrting-selectionโ>
/* css */
div#writing-section
class
๋ฐ๋ณต๋๋ ์์ญ์ ์ ํ๋ณ๋ก ๋ถ๋ฅํ ๋. ์ฌ๋ฌ ๊ฐ.
๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉ๋๋ ์์๋ฅผ ์ ํ๋ณ๋ก ๋ถ๋ฅํ ๋ ์ฌ์ฉํจ. ๋ฐ๋ผ์ ๊ฐ์ class๋ฅผ ๊ฐ์ง๊ณ ์๋ ์์๋ ๊ฐ์ ์ ํ์ผ๋ก ๋ถ๋ฅ๋ ์์๋ผ๋ ๊ฒ์ ์ ์ถํ ์ ์์
๋จ ํ ๋ฒ๋ง ์ฌ์ฉ๋์ด์ผ ํ๋ ์ด๋ฆ์ด ํ์ํ ๊ฒฝ์ฐ์๋ class๊ฐ ์๋ id๋ฅผ ์ฌ์ฉํด์ผ ํจ!
<!--HTML-->
<li class=โcommentโ>
/* css */
li.comment
Last updated