01_230504

Namiยท2023๋…„ 5์›” 4์ผ
0

NOW
๐Ÿ“š ๋ชจ๋˜ ์›น์„ ์œ„ํ•œ HTML5+CSS3 ๋ฐ”์ด๋ธ”, ์œค์ธ์„ฑ
HTML5 ๊ฐœ์š”
HTML5 ํƒœ๊ทธ ๊ธฐ๋ณธ

๋ชจ๋˜ ์›น์„ ์œ„ํ•œ HTML5+CSS3 ๋ฐ”์ด๋ธ”

1. HTML5 ๊ฐœ์š”

์›”๋“œ ์™€์ด๋“œ ์›น(World Wide Web)์€ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ๋ฅผ ํ†ตํ•ด ์‚ฌ๋žŒ๋“ค์ด ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด ๊ณต๊ฐ„์„ ๋งํ•œ๋‹ค. ์ธํ„ฐ๋„ท์€ ์ „ ์„ธ๊ณ„๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ์žˆ๋Š” ๊ตญ์ œ ์ •๋ณด ํ†ต์‹ ๋ง์ด๊ณ  ์›น์€ ๊ทธ ์œ„์—์„œ ์ž‘๋™ํ•˜๋Š” ์„œ๋น„์Šค์ด๋‹ค. 2๊ฐ€์ง€ ๊ตฌ๋ถ„ํ•˜๊ธฐ.

W3C(World Wide Web Consortium) : ํŒ€ ๋ฒ„๋„ˆ์Šค๋ฆฌ๊ฐ€ ์ฐฝ์„ค, ์›น ํ‘œ์ค€์„ ์ง€์ •ํ•˜๋Š” ๊ธฐ๊ด€, HTML ํ‘œ์ค€์„ ์žฌ์ •ํ•˜๋Š” ๋‹จ์ฒด.
์›น 2.0์‹œ๋Œ€ : ์‚ฌ์šฉ์ž๋“ค์ด ํ•จ๊ป˜ ์ƒˆ๋กœ์šด ์ฝ˜ํ…์ธ ๋ฅผ ์ฐฝ์กฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ ์‹œ๋Œ€.
WHATWG :IE๋ฅผ ์ œ์™ธํ•œ ์›น ๋ธŒ๋ผ์šฐ์ € ์ œ๊ณต๊ธฐ์—…(Apple, Mozilla, Opera)์ด ๋…์ž์ ์œผ๋กœ ์„ค๋ฆฝํ•œ ์ƒˆ๋กœ์šด ์›น ํ‘œ์ค€ ๊ธฐ๊ด€.
์ผ๋ ‰ํŠธ๋ก  : Github๊ฐ€ ๊ฐœ๋ฐœํ•œ HTML5 ๊ธฐ๋ฐ˜์˜ ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์—”์ง„
๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ : ํŽ˜์ด์Šค๋ถ์ด ๊ฐœ๋ฐœํ•œ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์—”์ง„

<!-- HTML ๊ธฐ๋ณธ ๊ตฌ์กฐ -->
<!DOCTYPE html>
<html>
<head>
	<title>Document</title>
</head>
<body>
	<h1>Hello World!</h1>
</body>
</html>

2. HTML5 ํƒœ๊ทธ ๊ธฐ๋ณธ

ํƒœ๊ทธ(Tag), ์š”์†Œ(Element), ์†์„ฑ(Attribute)
ํƒœ๊ทธ : HTML ํŽ˜์ด์ง€์—์„œ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ.
์š”์†Œ : ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ฐ์ฒด (ํƒœ๊ทธ์™€ ์š”์†Œ๋Š” ๋ณดํ†ต ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š์Œ.)
์†์„ฑ : ํƒœ๊ทธ์— ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ
(์†์„ฑ ์ด๋ฆ„, ์†์„ฑ ๊ฐ’, ์†์„ฑ ๋ธ”๋ก)
์ฃผ์„ : ์„ค๋ช…์„ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ.

HTML5 ํŽ˜์ด์ง€ ๊ตฌ์กฐ

<head> ๋‚ด๋ถ€์— ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ํƒœ๊ทธ 
<meta> ์›น ํŽ˜์ด์ง€์— ์ถ”๊ฐ€ ์ •๋ณด ์ „๋‹ฌ
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> ์›น ํŽ˜์ด์ง€ ์ œ๋ชฉ </title>
<script> ์›น ํŽ˜์ด์ง€์— ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ <script>
<link> ์›น ํŽ˜์ด์ง€์— ๋‹ค๋ฅธ ํŒŒ์ผ ์ถ”๊ฐ€
<style> ์›น ํŽ˜์ด์ง€์— ์Šคํƒ€์ผ์‹œํŠธ ์ถ”๊ฐ€ </style>
<base> ์›น ํŽ˜์ด์ง€์˜ ๊ธฐ๋ณธ ๊ฒฝ๋กœ ์ง€์ •
<!-- ๊ธ€์ž ํƒœ๊ทธ -->
<!-- HEADER ํƒœ๊ทธ -->
<h1>์ฒซ ๋ฒˆ์งธ๋กœ ํฐ ์ œ๋ชฉ ๊ธ€์ž ํƒœ๊ทธ</h1>
<h2>๋‘ ๋ฒˆ์งธ๋กœ ํฐ ์ œ๋ชฉ ๊ธ€์ž ํƒœ๊ทธ</h2>
...
<h6>์—ฌ์„ฏ ๋ฒˆ์งธ๋กœ ํฐ ์ œ๋ชฉ ๊ธ€์ž ํƒœ๊ทธ</h6>
<!-- ๋ณธ๋ฌธ -->
<!-- paragraph ๋‹จ๋ฝ ํƒœ๊ทธ -->
<p>๋ณธ๋ฌธ ๊ธ€์ž ํƒœ๊ทธ</p>
<!-- ์ค„๋ฐ”๊ฟˆ ํƒœ๊ทธ -->
<br />
<!-- ์ˆ˜ํ‰ ์ค„ ํƒœ๊ทธ -->
<hr>
<!-- ์•ต์ปค ํƒœ๊ทธ -->
<a href="https://github.com">Github</a>
<!-- ๋นˆ ๋งํฌ -->
<a href="#"></a>
<a href="#tab1"></a>
<!-- ๊ธ€์ž ํ˜•ํƒœ -->
<b>๊ตต์€ ๊ธ€์ž</b>
<i>๊ธฐ์šธ์–ด์ง„ ๊ธ€์ž</i>
<small>์ž‘์€ ๊ธ€์ž ํƒœ๊ทธ</small>
<sub>์•„๋ž˜์— ๋‹ฌ๋ผ ๋ถ™๋Š” ๊ธ€์ž</sub>
<sup>์œ„์— ๋‹ฌ๋ผ ๋ถ™๋Š” ๊ธ€์ž</sup>
<ins>๋ฐ‘์ค„ ๊ธ€์ž</ins>
<del>๊ฐ€์šด๋ฐ ์ค„ ๊ทธ์–ด์ง„ ๊ธ€์ž</del>

๊ธ€์ž ํ˜•ํƒœ์˜ ๊ฒฝ์šฐ font-style๋กœ CSS๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋‚ซ๋‹ค๋Š” ์ƒ๊ฐ.

<!-- ๋ชฉ๋ก ํƒœ๊ทธ -->
<ul>
	<li>unordered list</li>
    <li>์ˆœ์„œ๊ฐ€ ์—†๋Š” ๋ชฉ๋ก</li>
</ul>
<ol>
	<li>ordered list</li>
    <li>์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ชฉ๋ก</li>
</ol>

ํ˜„์žฌ ์ž˜ ์“ฐ์ด์ง€ ์•Š๋Š” ํƒœ๊ทธ์˜ ๊ฒฝ์šฐ์—๋Š” ๊ฐ„๋‹จํžˆ ๋ณด๊ณ  ๊ธฐ๋กํ•˜์ง€ ์•Š๋Š”๋‹ค.

<!-- ํ…Œ์ด๋ธ” ํƒœ๊ทธ -->
<body>
	<table border="1">
    <caption>Caption</caption>
    <colgroup>
    	<col span="2" />
        <col />
    </colgroup>
    <thead>
      <tr>
          <th></th>
          <th></th>
      </tr>
    </thead>
    <tbody>
      <tr>
          <th></th>
          <th></th>
      </tr>
    </tbody>
    <tfoot>
      <tr>
          <th></th>
          <th></th>
      </tr>
    </tfoot>
</body>

<!-- rowspan : ์…€์˜ ๋†’์ด ์ง€์ • -->
<!-- colspan : ์…€์˜ ๋„ˆ๋น„ ์ง€์ • -->
<!-- ์ด๋ฏธ์ง€ ํƒœ๊ทธ -->
<img src="์ด๋ฏธ์ง€ ๊ฒฝ๋กœ" alt="์ด๋ฏธ์ง€ ์„ค๋ช…" />
<img src="http://placehold.it/300x200" alt="์›ํ•˜๋Š” ํฌ๊ธฐ์˜ ์ด๋ฏธ์ง€๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ์‚ฌ์ดํŠธ" />

<!-- ๋น„๋””์˜ค ํƒœ๊ทธ -->
<video poster="๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ด๋ฏธ์ง€">
	<source src="video.mp4" type=""video/mp4" />
</video>
<!-- ์š”์ฆ˜์€ vimeo, youtube์—์„œ iframe ํƒœ๊ทธ๋กœ ์‚ฝ์ž…ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. -->
<form> ์ž…๋ ฅ์–‘์‹ ์ง€์ •์„ ์œ„ํ•œ ๊ธฐ๋ณธ ํƒœ๊ทธ
<input>	์—ฌ๋Ÿฌ ์œ ํ˜•์˜ ์ž…๋ ฅ ์–‘์‹์„ ์ง€์ •
<textarea> ์—ฌ๋Ÿฌ ๋ผ์ธ์— ๊ฑธ์นœ ํ”„๋ฆฌ ํฌ๋งท ์ž…๋ ฅ ์–‘์‹
<label>	์ž…๋ ฅ ์–‘์‹๊ณผ ์—ฐ๊ฒฐ๋˜๋Š” ํ…์ŠคํŠธ ๋ผ๋ฒจ
<fieldset> ์ž…๋ ฅ ์–‘์‹๋“ค์„ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์–ด์ฃผ๋Š” ํƒœ๊ทธ
<legend> <fieldset>์˜ ์ œ๋ชฉ์„ ํ‘œ์‹œ
<select> ๋“œ๋กญ๋‹ค์šด ๋ฐ•์Šค๋กœ ๋ชฉ๋ก์ค‘์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ์–‘์‹
<optgroup> <select>์•ˆ์—์„œ ๋ชฉ๋ก์„ ๊ทธ๋ฃนํ™”
<option> <select> ์˜ ์„ ํƒ ํ•ญ๋ชฉ ์ง€์ •
<button> ์ž…๋ ฅ ๋ฒ„ํŠผ ์ƒ์„ฑ

<form>
	<label for="๋ผ๋””์˜ค">input ํƒœ๊ทธ ์„ค๋ช…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ</label>
	<input id="๋ผ๋””์˜ค" type="button"></input>
</form>
<!-- type ์ข…๋ฅ˜ --> 
<!--
text : ํ…์ŠคํŠธ ์ž…๋ ฅ
password : ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ
checkbox : ๋ณต์ˆ˜ ์„ ํƒ ๊ฐ€๋Šฅํ•œ ์ฒดํฌ ๋ฐ•์Šค
radio : ๋ณต์ˆ˜ ์„ ํƒ ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ผ๋””์˜ค ๋ฒ„ํŠผ ์ƒ์„ฑ
submit : ์ž…๋ ฅ์–‘์‹์„ ์„œ๋ฒ„๋กœ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ๋ฒ„ํŠผ
reset : ์ดˆ๊ธฐํ™”
button : ์ผ๋ฐ˜ ๋ฒ„ํŠผ
-->

<!-- HTML5 ์ž…๋ ฅ ์–‘์‹ ํƒœ๊ทธ -->
<!--
email : ์ด๋ฉ”์ผ ์ž…๋ ฅ
search : ๊ฒ€์ƒ‰์–ด ์ž…๋ ฅ
url : URL ์ž…๋ ฅ
tel : ์ „ํ™”๋ฒˆํ˜ธ ์ž…๋ ฅ
number : ์ˆซ์ž ์ž…๋ ฅ
range : ๋ฒ”์œ„ ์„ ํƒ
date : ๋‚ ์งœ ์ž…๋ ฅ
color : ์ƒ‰์ƒ ์„ ํƒ
-->

<!-- textarea ํƒœ๊ทธ -->
<form>
	<textarea></textarea>
</form>

<!-- select ํƒœ๊ทธ -->
<select>
	<option>๊น€๋ฐฅ</option>
    <option>๋–ก๋ณถ์ด</option>
    <option>์ˆœ๋Œ€</option>
    <option>์˜ค๋Ž…</option>
</select>

<!-- ๊ณต๊ฐ„ ๋ถ„ํ•  ํƒœ๊ทธ -->
<div>block ํ˜•์‹์œผ๋กœ ๊ณต๊ฐ„ ๋ถ„ํ• </div>
<span>inline ํ˜•์‹์œผ๋กœ ๊ณต๊ฐ„ ๋ถ„ํ• </span>
<!-- HTML5 ์‹œ๋ฉ˜ํ‹ฑ ๊ตฌ์กฐ ํƒœ๊ทธ -->
<header>ํ—ค๋”</header>
<nav>๋„ค๋น„๊ฒŒ์ด์…˜</nav>
<aside>์‚ฌ์ด๋“œ์— ์œ„์น˜ํ•˜๋Š” ๊ณต๊ฐ„</aside>
<section>์—ฌ๋Ÿฌ ์ค‘์‹ฌ ๋‚ด์šฉ์„ ๊ฐ์‹ธ๋Š” ๊ณต๊ฐ„</section>
<article>๊ธ€์ž๊ฐ€ ๋งŽ์ด ๋“ค์–ด๊ฐ€๋Š” ๋ถ€๋ถ„</article>
<footer>ํ‘ธํ„ฐ</footer>
  • ์›น์˜ ์—ญ์‚ฌ ์ถ”ํ›„์— ๋”ฐ๋กœ ์ •๋ฆฌํ•ด๋ณด๊ธฐ ๐Ÿค“
  • Semantic, ์˜๋ฏธ๋ก ์ ์ธ ์›น ๊ตฌ์กฐ ์ •๋ฆฌํ•ด๋ณด๊ธฐ

0๊ฐœ์˜ ๋Œ“๊ธ€