๐1. ์น ํ์ด์ง์ ๋ชจ๋ ๊ฒ์ ์์์ HTML์์ ๋น๋กฏ๋๋ค.
- ์ฐ๋ฆฌ๊ฐ ๋ณด๋ ๊ฒ๋ค์ ๋ชจ๋ HTML์ ํตํด ๋ณผ ์ ์์
- ์น ํ์ด์ง์ ๋ณด์ด๋ ๋ชจ๋ ๊ฒ๋ค์ ๊ธฐ์น์ HTML ํ๊ทธ์ ๊ฒฐ๊ณผ๋ฌผ
- ์น ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์ ๋ฒ ์ด์ค๊ฐ ๋๋ HTML
- ๋ฌธ์์ ๊ตฌ์กฐ์ ์ ๋ณด ์๊ณ๊ฐ ๋ช
ํํ๊ฒ ๋ณด์ด๋ ์๋ฆ๋ค์ด HTML ์ฝ๋ ์์ฑํ๋ ๊ฒ ๋งค์ฐ ์ค์!
- semantic markup
๐2. ํ๊ทธ ํด๋ถํ
- tag
- attribute: ์์ฑ, ํ๊ทธ์ ์ฑ๊ฒฉ์ ๋ํ
์ผํ๊ฒ ์ฃผ๊ณ ์ถ์ ๋ ์ฌ์ฉ
- ๋ค์ํ ํ๊ทธ์ ์น ํ์ค์ ๋ง๋ ์ฌ๋ฐ๋ฅธ ์ฌ์ฉ๋ฒ ์ตํ๊ธฐ
๐3. Heading & Paragraph
- Heading Tag: H1(์ ๋ชฉ), H2, H3, H4, H5, H6
- Paragraph: p
๐4. Emphasis
- ๊ฐ์กฐ: em(๊ธฐ์ธ๊ธฐ), strong(๊ตต๊ฒ)
- ์ฐจ์ด์ ์ ์์
๐5. ๋งํฌ Anchor
- ํ ์์น์์ ๋ค๋ฅธ ์์น๋ก ์ด๋ํ ๋ ์ฌ์ฉ
- href attribute ๋ฐ๋์ ํ์ํจ
- hypertext reference(์ฐธ์กฐ, ์ฃผ์๊ฐ)
- url ์ฃผ์ / ์๋ ๊ฒฝ๋ก / ํ์ด์ง ๋ด ์ด๋ / ๋ฉ์ผ ์ฐ๊ธฐ / ์ ํ ๊ฑธ๊ธฐ / ์ ์ฐฝ์์ ์ด๊ธฐ(blank)
๐6. Image
<img src="#" alt=""/>
- src: source (์ด๋ฏธ์ง ์ฃผ์ ๊ฐ)
- alt: alternative text (๋์ฒด ํ
์คํธ)
๐7. List
- ol(ordered list): ์์๊ฐ ์ค์ํ ๋ชฉ๋ก (ex. ๋ ์ํผ)
- ul(unordered list): ์์๊ฐ ์ค์ํ์ง ์์ ๋ชฉ๋ก
- ul๊ณผ ol์ ์์ ์์๋ ๋ฌด์กฐ๊ฑด li๋ง ๊ฐ๋ฅ!
๐8. Description List
- ์ฉ์ด๋ฅผ ์ ์ํ ๋
- key-value๋ก ์ ๋ณด ์ ๊ณตํ ๋
- dl, dt(key), dd(value), dfn(์ ์ํ ๋ ์ฌ์ฉ)
- Good Practice
<dl>
<dt>๊น๋ฒ๊ทธ</dt>
<dd>์ฃผ๋์ด ๊ฐ๋ฐ์์ ์ฑ์ฅ ๋๋ผ๋ง๋ฅผ ๋ค๋ฃจ๋ ์ ํ๋ธ ์ฑ๋์
๋๋ค</dd>
</dl>
<dl>
<dt>
<dfn>development</dfn>
</dt>
<dd>1. dd </dd>
<dd>2. cc </dd>
</dl>
<dl>
<dt>๊น๋ฒ๊ทธ</dt>
<dt>Kimbug</dt>
<dd>์ฃผ๋์ด ๊ฐ๋ฐ์์ ์ฑ์ฅ ๋๋ผ๋ง๋ฅผ ๋ค๋ฃจ๋ ์ ํ๋ธ ์ฑ๋์
๋๋ค</dd>
</dl>
<dl>
<div>
<dt>๊น๋ฒ๊ทธ</dt>
<dd>์ฃผ๋์ด ๊ฐ๋ฐ์์ ์ฑ์ฅ ๋๋ผ๋ง๋ฅผ ๋ค๋ฃจ๋ ์ ํ๋ธ ์ฑ๋์
๋๋ค</dd>
</div>
</dl>
<dl>
<dt>๊น๋ฒ๊ทธ</dt>
<dd>์ฃผ๋์ด ๊ฐ๋ฐ์์ ์ฑ์ฅ ๋๋ผ๋ง๋ฅผ ๋ค๋ฃจ๋ ์ ํ๋ธ ์ฑ๋์
๋๋ค</dd>
<dt>๋ฐ๋ฒจ์
</dt>
</dl>
<dl>
<section>
<dt>๊น๋ฒ๊ทธ</dt>
<dd>์ฃผ๋์ด ๊ฐ๋ฐ์์ ์ฑ์ฅ ๋๋ผ๋ง๋ฅผ ๋ค๋ฃจ๋ ์ ํ๋ธ ์ฑ๋์
๋๋ค</dd>
</section>
</dl>
๐8. Quotation
- blockquote: ๋ ๋ง์ด ์ฌ์ฉ
- q: ๋ฌธ๋จ ๋ด์ ์ธ์ฉ๋ฌธ ์ฌ์ฉ ์
- cite: ์ถ์ฒ
๐9. Div & Span
- ์๋ฌด๋ฐ ์๋ฏธ๊ฐ ์๊ณ , ์์๋ฅผ ๋ฌถ์ด์ผํ ๋ ์ ์ฉํ๊ฒ ์ฐ์
- span: text๋ฅผ ๊ทธ๋ฃจํํ ๋
<form action="API ์ฃผ์" method="GET|POST"></form>
- ์ฌ์ฉ์๋ก๋ถํฐ Input์ ๋ฐ๊ธฐ ์ํ ํ๊ทธ
action: API-์๋ฒ์๊ฒ ์ ๊ทผ ๊ฐ๋ฅํ URL
method: GET OR POST
POST: ์ ๋ณด์ ์์ด ๋ง์ ๋ ์ฌ์ฉ
input: ์
๋ ฅ์ฐฝ / type attribute ๋ช
์
type: text/number/email/password
<input type="text">
- input ํ๊ทธ attribute
1) placeholedr: ์๋ด๋ฌธ
2) required: ๋น์นธ x
3) disabled: ์
๋ ฅ x
4) value="": ๊ธฐ๋ณธ๊ฐ(๋ณต์ฌ ๊ฐ๋ฅ)
5) minlength/maxlength: ์ต์ ๋ฌธ์ ์/์ต๋ ๋ฌธ์ ์
6) min/max: ์ต์ ์ซ์/์ต๋ ์ซ์
7) accept: ํ์ผ ํ์ฅ์ ์ ํ (accept=".png, .jpg")
<label for="inputID">๋ผ๋ฒจ</label>
<input id="inputID" type="text">
- label: ๋ถ๊ฐ์ ์ธ ํ๊ทธ
ํผ ์์์ ์ด๋ฆ์ ๋ถ์ด๋ ํ๊ทธ
for attribute ์ฌ์ฉ
label ์ ํ ์ input ํ๊ทธ์ focus
๐12. Radio & Checkbox
- radio: ๋จ์ผ ์ ํ
๋ฐ๋์ ํ์ํ attribute
1) name: name์ ๋์ผํ๊ฒ ์ค์ ํด์ฃผ์ด์ผ ๋จ์ผ ์ ํ ๊ฐ๋ฅํจ
2) value: submit ์ ์ด๋ค radio๊ฐ ์ ํ ๋์๋์ง ์ ์ ์์ | name=value ๊ฐ์ผ๋ก ๋์ด๊ฐ
์๋ฒ๊ฐ ๊ฐ์ ๊ตฌ๋ถํ ์ ์์ด์ผ ํจ
- checkbox: ๋ค์ค ์ ํ ๊ฐ๋ฅ
๋ฐ๋์ ํ์ํ attribute: radio์ ๋์ผ
๐13. Select & Option & Textarea & Button
- select ์์์ด option์ด๋ฏ๋ก select์๋ง name ์ฃผ์ด๋ ๋จ
- option ๋ค์ค ์ ํ ์ํ๋ฉด select ํ๊ทธ์ multiple ์์ฑ ํ ctrl|command ์ฌ์ฉ
- textarea: ์ฌ๋ฌ ์ค์ ๊ธ ์์ฑ ์ ํ์
- button type: button, submit, reset
๐14. Table
- ๋ฐ์ดํฐ๋ฅผ ๋ด์ ํ๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉ
- Table์ ๋ง๋๋ ๊ธฐ๋ณธ ์๋ฆฌ
<table>
<tr>
<th>ํ
์ด๋ธ ํค๋</th>
<td>ํ
์ด๋ธ ๋ฐ์ดํฐ</td>
</tr>
</table>
- thead, tbody: ์ฌ์ฉํด์ฃผ๋๊ฒ์ด ์ข์
- tfoot: ์ดํฉ, ๊ฒฐ๋ก ์์ฑ ์ ์ฌ์ฉ
- rowspan="": ๊ฐ๋ก์ค ๋ณํฉ
- colsapn="": ์ธ๋ก์ค ๋ณํฉ
- scope="row|col": ํ์ ๋ํ th์ธ์ง ์ด์ ๋ํ th์ธ์ง ๋ธ๋ผ์ฐ์ ์๊ฒ ์๋ ค์ฃผ๋ attribute
- ๋ฏธ๋์ด ํ์ผ: ํ
์คํธ๊ฐ ์๋ ์ด๋ฏธ์ง, ์์, ์ค๋์ค ๋ฑ์ ๋ฌธ์ ์์ ์ฒจ๋ถํจ
- audio src="ํ์ผ ์ฃผ์"
controls: ์ฌ์ ๋ฐ | autoplay: ์๋ ์ฌ์ | loop: ๋ฐ๋ณต
source ํ๊ทธ ๋ฐ๋ก ์ฌ์ฉ: ๋ธ๋ผ์ฐ์ ์์ ์คํ๋์ง ์๋ ํ์ผ์ผ ๊ฒฝ์ฐ ๋๋นํ์ฌ ํ์ผ ์ฌ๋ฌ๊ฐ ์์ฑ
- video ํ๊ทธ audio์ ๋์ผ
- iframe
๐16. ETC. ํ๊ทธ
- abbreviation(abbr): ์ฝ์, ์ฝ์ด
abbr title="ํ๋ค์"
- address: ์ฐ๋ฝ์ฒ ์ ๋ณด ๋งํฌ์
์ ์ฌ์ฉ
๋ฌผ๋ฆฌ์ ์ฃผ์, URL, ์ด๋ฉ์ผ ์ฃผ์, ์ ํ๋ฒํธ, SNS
- pre(preformatted text)
- code: ์ฝ๋ ์์ฑํ๊ณ ์ถ์ ๋ ์ฌ์ฉ. ์ฃผ๋ก pre ์์ ์ฌ์ฉํจ(๋์ด์ฐ๊ธฐ)
๐17. Doctype & Title, Link, Style&Script
- vs code - !+tab
- document: HTML ๊ทธ ์์ฒด
- title: ๋ฌธ์์ ๋์ ๋ชฉ
๊ฒ์ ์ต์ ํ(Search Engine Optimization)์ ๋งค์ฐ ์ค์
*title ์ ์ฐ๋ ๋ฐฉ๋ฒ
1) ํค์๋ ๋จ์ ๋์ด ๋น์ถ
2) ํ์ด์ง๋ง๋ค ๊ทธ์ ๋ง๊ฒ ๋ณ๊ฒฝ
3) ๋ฌด์์ ๊ดํ ๋ด์ฉ์ธ์ง ์ผ์ค์๊ฒ!
- CSS ์คํ์ผ์ํธ๋ฅผ ์ฒจ๋ถํ๋ ํ๊ทธ
- html ์์ style ํ๊ทธ ์์ฑ: hmm..
- script ํ๊ทธ: js ํ์ผ ์ฒจ๋ถ
script๋ head ์์ ์ฐ์ง ์์
link๋ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์์ง ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ ธ์ค๋๋ฐ ์๊ฐ ๊ฑธ๋ฆผ - ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ skip ๊ฐ๋ฅ
script๋ ๋ค๋ฅธ ์๋ฒ์ js๋ฅผ ๊ฐ์ ธ์ฌ ์๋ ์์. js๋ ๊ฐ์ ธ์ฌ ๋๊น์ง ๋ฉ์ถฐ์์. ๋ก๋ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆผ. ๋นํจ์จ์ ! script๋ body ๋ด ๋ชจ๋ ์ฝํ
์ธ ๊ฐ ๋ก๋๋ ํ ์์ฑ
<meta name="๋ฉํ๋ฐ์ดํฐ ์ข
๋ฅ" content="๋ฉํ๋ฐ์ดํฐ ๊ฐ">
- name="viewport"
viewport์ ๋ง์ถฐ์ ํ๋ฉด ํฌ๊ธฐ ์กฐ์ . ๋๋ฐ์ด์ค ์ฌ์ด์ฆ์ ๋ง๊ฒ ๋ฐ์ํ ์ฌ์ดํธ ๋ง๋ค ์ ์์ผ๋ฏ๋ก ๋ฐ๋์ ์์ฑํด์ผ ํจ
- content="width=device-width, initial-scale=1.0"
๋๋ฐ์ด์ค width์ ๋ง๊ฒ, ์ด๊ธฐ ๋ฐฐ์จ: 1.0
๐ ์งง์ ํ๊ธฐ
- DL ํ๊ทธ ์ฒ์ ์๊ฒ ๋จ๐
- input ํ๊ทธ์ required attribute๋ฅผ ์ฌ์ฉํ๋ฉด ๋น์นธ ์์ ๋ submit ์๋๋ ๊ฒ๋ ์ฒ์ ์์๋ค.
์ฌํ js๋ก ๋ป ์งํ ๊ฒ ์๊ฐ๋์ ๊ดด๋ก์ ๋ค. minlength ๊ฐ์ attribute๋...
์ฒ์ ์ ๊ฒ ์๋๋ผ ๊น๋จน๊ณ ์์๋...๐ญ ์ด๋ ๊ฒ ๊ฐ๋จํ ๊ฑธ js๋ก ์ผ๋ง๋ ๋ป์ง์ ํด์๋์ง...
- script๋ฌธ์ ๋ง์ง๋ง์ ์ฐ๋ ์ด์ ๊ฐ ๋๋ฌด ๊ถ๊ธํ๋๋ฐ ๋๋์ด ์๊ฒ ๋์๋ค. ์๋ฌด๋ ์์๋ด์ค. ์ฌ์ค์ ๋ด๊ฐ ์์น๋ฅผ ์ ํด๋ดค๋ค... ๋ฌดํผ ์์ผ๋ก๋ js ํ์ผ์ body ํ๊ทธ ๋ง์ง๋ง์ ์ฐ๋ ๊ฑธ๋ก.
- HTML ํ๊ทธ ์ ๋ง ๋ง๋ค. ์์ผ ๋ง๋ค. MDN ๋ฌธ์ ์์น๋ฅผ ์ํํํ์.
- VS Code์์ Open in Preview๋ฅผ ์ฌ์ฉํ๋ค ๋คํฌ๋ชจ๋๋ก ๋จ๋ ๊ฒ์ด ๋ถํธํด Live Preview๋ก ๋ฐ๊พธ์๋ค. ์ค์ ์น์์ ๋ณด๋ ๊ฒ๊ณผ ํฌ๊ฒ ๋ค๋ฅด์ง ์๋ค. iframe ํ๊ทธ ๊นจ์ง๋ ๊ฑฐ ๋ง๊ณ ๋ ๋ค๋ฅผ ๊ฒ ์์์๐