- semantic ์ ์ธ ์์ ์๊ฐํ๋ฉด label-input ์ ์ฐ๋ํ id ๋ช
์ name์ผ๋ก ํ๋ ๊ฒ ๋์ ์๋ ์์
- ์คํฌ๋ฆฐ ๋ฆฌ๋๊ธฐ ๋ฑ voice to text ๊ทธ๋ ๊ฒ ํด์ํด ์ค ์ ์๋ ๊ฒ์ด ์์
- select ๋ฐ์ค (์ฝค๋ณด ๋ฐ์ค)
- option; ์ฌ๋ฌ ๊ฐ ์ค์ 1๊ฐ ์ ํ
- select ๋ฐ์ค์ multiple ์์ฑ ์์
- ์๋์ผ๋ก ์ญ ๋์ด๋จ (์ ํ์ง ๋ง์์ง๋ฉด ์คํฌ๋กค ๊ฐ๋ฅ)
- ์ฌ๋ฌ ๊ฐ ์ ํ ๊ฐ๋ฅ (ctrl/์ปค๋งจ๋ ํค ์ด์ฉ)
- size ์์ฑ์ ํ๋ฉด์ ๋ช ๊ฐ ๋ณด์ด๋์ง ์ค์ ๊ฐ๋ฅ
- ์ค๋ฌด์์๋ multiple ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๊ฑฐ์ ์์ => ๋ณดํต checkbox ์ฌ์ฉํจ
- ์ ํ ์ต์
๋ง์ ๊ฒฝ์ฐ์๋ select ๋ฐ์ค ์ด์ฉ
- input:radio์ ๋น๊ต!
- radio ๋ฒํผ์ name ๋์ผํ๊ฒ ํด์ผ grouping ๋จ
- ์ ํ ์ต์ ๋ณ๋ก ์์ ๋๋ UX ์ ์ผ๋ก radio ๋ฒํผ์ด ์ข์
- JS ์ฝ๋ ์ฌ์ฉํ ๋ radio ๋ฒํผ์ ํ์ฉํ๋ฉด ์ฝ๋๊ฐ ์ข ๋ ๋ณต์กํด์ง
- ๊ท์ฐฎ์์ select ๋ฐ์ค ๋ง๋ค์ด์ ํ์ฉํ๋ ์ฌ๋๋ค ๋ง์
- ์๋ฌด๋๋ select ๋ฐ์ค ๋ค๋ฃจ๊ธฐ๊ฐ ๊ฐํธํด์..
- ํ์ง๋ง ์ฌ์ฉ์ ์ ์ฅ์์๋ ๋ ๋ฒ ํด๋ฆญํ๋ ๋ฒ๊ฑฐ๋ก์์ผ๋ก ๋ถํธํจ
- UX์ ์ผ๋ก ์ ํ ์ต์ ์ ์ ๋๋ ๋ผ๋์ค ๋ฒํผ ์ด์ฉํ์!
- ex. ํ์ด๋ ๊ตญ๊ฐ ๊ฐ์ ๊ฒฝ์ฐ์๋ ๋ผ๋์ค ๋ฒํผ์ผ๋ก ํ๊ธฐ์๋ ๋ฌด๋ฆฌ (select ์ด์ฉ!)
- ์ฒดํฌ ๋ฐ์ค (ํฑ ๋ฐ์ค)
- textarea; ์ฌ๋ฌ ์ค ์
๋ ฅ ๊ฐ๋ฅ
- cols, rows ์ค์ ๊ฐ๋ฅ
- ๋ณดํต style ์์ฑ์ผ๋ก width, height ์ค์ ํจ
- ์ฌ์ด์ฆ ์๋ ์กฐ์ ๊ฐ๋ฅํด์ ์ค๋ฌด์์๋ ๊ฑฐ์ ์์
- ์ค๋ฌด์์ ๊ฐ๋ ์
๋ ฅํ๋ ํ
์คํธ ๋ผ์ธ์ ๋์ด๋๋ฉด
์๋์ผ๋ก ๋์ด๋๋๋ก ๋ณด์ฌ์ฃผ์ธ์ ํ๋ ์๊ตฌ์ฌํญ ์๊ธด ํจ
(JS ์ฝ๋ ์ด์ฉ)
- cols, rows ์ค์ ๊ฐ๋ฅ
- button
- type="button" ์๋ต๋ ๊ฒ์
- ๊ตฌ ๋ธ๋ผ์ฐ์ ๋ type="button" ๋ฐ๋์ ์ง์ ํด์ผ ํจ (์ธ์ ๋ชปํ๋ ๊ฒฝ์ฐ ์์)
- input:submit
- fieldset (์
๋ ฅํ ๋ฐ์ดํฐ ํผ ์๋๋ฐ grouping ํด์ฃผ๋ ๊ฒ, ์ฐ๊ด ๊ทธ๋ฃน๋ผ๋ฆฌ)
- legend ํ๊ทธ; grouping ํ ๋ถ๋ถ์ด ์ด๋ค ๋ฌถ์์ธ์ง ์ ๋ณด ์๋ ค์ค
- datalist ํ๊ทธ
- ์ฝ๋ ๋ธ๋ก๋ ์๋์ด..
- ์ค๋ฌด์์ ๋ง์ด ์ฌ์ฉ ๊ฐ๋ฅ
- option ํ๊ทธ๋ self-closing์
- input:list ์ ์ฐ๋
- ๋ฌธ์ ์ ; ์ ํํ๊ณ ๋ ์ง์ธ ์๊ฐ ์์
ํน์ ์ฌ์ฉ์๊ฐ ๊ฐ์ ๋ก ์ง์ธ ์๋ ์์ผ๋ ๋์ค์ ์๋ฒ๋ก ์ ์ก๋๋ ์์ ์
์ฌ์ฉ์๊ฐ ์ ๋๋ก ์ ๋ ฅํ๋์ง ์ถ๊ฐ ๋ก์ง ์์ฑํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์ ์กด์ฌ- select์ธ ๊ฒฝ์ฐ์๋ value ๊ฐ์ ํตํด ์ฝ๋ ๊ฐ์ด ์ค์ ๋ก ์๋ฒ๋ก ์ ์ก๋๋ ๊ตฌ๋ถ ๊ฐ๋ฅ!
- datalist๋ ๋์ ๋ณด์ด๋ ๊ฐ๋ง ๊ทธ๋๋ก ์ฌ์ฉํ ๋ ์ฌ์ฉํ๊ธฐ!
- select box์ ์ฐจ์ด์
- select box๊ฐ 5๊ฐ๋ฐ์ ์์ผ๋ฉด ๊ด์ฐฎ์
- ํ์ง๋ง 200๊ฐ๋ฉด ์คํฌ๋กค ํ๊ธฐ ๋๋ฌด ๋ถ๋ด
- table์ select ๋ฐ์ค ๋ค ๋ฃ์ผ๋ฉด ๊ธด ํ ์ด๋ธ ๋ ๋๋ง ๋๋ ค๋ฉด ์๊ฐ ์ค๋ ๊ฑธ๋ฆฌ๋ ๋ฌธ์
- input:list, datalist ํ์ฉํ๋ฉด ํจ์ฌ ๋น ๋ฅด๊ฒ ํค์๋ ์กฐ๊ธ๋ง ์ ๋ ฅํด๋ ์ฐพ์ ์ ์์
- ํ ํ๋ฉด์ ์ฌ๋ฌ ๋ฒ ์์ฑํ ํ์๊ฐ ์๋ ๊ฒฝ์ฐ
- ์๋งจํฑ ์์ (HTML5์์ ์ถ๊ฐ๋จ)
- header
- nav
- main
- section
- article
- aside
- footer
- css๋ html์ ๋์์ธ ์ ํ๋ ์ธ์ด
- cascading style sheets
- css 3๊ฐ์ง ๋ฐฉ์
- inline style
- internal style
- external style
- css selector (์ ํ์)
- declaration (๋์์ธ ์ ์ธ ๋ธ๋ก)
- property, property value (์ ์ธ; ์์ฑ, ์์ฑ๊ฐ)
- declaration (๋์์ธ ์ ์ธ ๋ธ๋ก)
- selector ๋ ํ๊ทธ ์ด๋ฆ, id, ํด๋์ค ์ด๋ฆ์ผ๋ก๋ ๋ค ๊ฐ๋ฅ
- selector ์กฐํฉํด์ ์ฌ์ฉ ๊ฐ๋ฅ
*๋ body ๊น์ง ๋ค ํฌํจํด์ ๋ชจ๋ ํ๊ทธ์ ๋์์ธ ์ ํ- ์ ์ฒด ์ ํ์ (universal selector)
- ํ๊ทธ๋ช ๊ฐ์ง๊ณ ํ ๊ฒ์ ํ๊ทธ ์ ํ์
- class ์ ํ์
- ํด๋์ค ์ ํ์๊ฐ ํ๊ทธ ์ ํ์๋ณด๋ค ๋ ์ฐ์ ์์ ๋์
- !important ์์ฑ ๋ฃ์ผ๋ฉด ์ต์ฐ์ ์ ์ฉ๋จ
- ํด๋์ค๋ ์ฌ๋ฌ ๊ฐ ์ถ๊ฐ ๊ฐ๋ฅ (ํ์นธ ๋๊ณ )
- ์ฌ๋ฌ ๋์์ธ ์์ฑ ์ ์ฉ
- ์ต๊ทผ ์ถ์ธ) 2๊ฐ์ง
- ๋ถํธ์คํธ๋ฉ; ๋์์ธ ์์คํ
- ํด๋์ค ํ๋๋ง ์ฌ์ฉํด์ ๋ค ์ ์ฉ
- ๋ฌผ๋ก ์ผ๋ถ๋ถ ์ ํธ๋ฆฌํฐ ์ฑ์ผ๋ก ์ ๊ณต
- ํ
์ผ์๋; ์ ํธ๋ฆฌํฐ ๋์์ธ
- ๋ชจ๋ ๋์์ธ ์์ฑ๋ค์ ํ๋ ํ๋ ๋ค ์ชผ๊ฐ์ ์ผ์ผ์ด ๋ค ๋ฃ์
- ์ค๋ณต๋ ์ฝ๋ ์ค์ผ ์ ์์ (์์ ์กฐ๊ฐ๋ง ์ถ๊ฐํ๋ฉด ๋จ)
- ๋ฌผ๋ก ํด๋์ค๋ช ๊ท์น์ ์์ง๋ง ์ ์ด์ ์ผ์ผ์ด ๋ค ์ ์ํด์ ์จ์ผํจ
- ๋ถํธ์คํธ๋ฉ; ๋์์ธ ์์คํ
- ํ๊ทธ ์ ํ์๋ ๊ณตํต ์์ญ์๋ง ์ฌ์ฉํ๊ณ ์ค์ ํ๋ฉด์์ ๊ตฌ๋ถ์ด ํ์ํ ์์ญ์ ์ฌ์ฉ ์ํจ
- ๋๋ถ๋ถ ํด๋์ค ๊ฐ์ง๊ณ ์ฌ์ฉํจ
- ๋ง์ฝ id๋ง ์์ผ๋ฉด # ๋ถ์ฌ์ ์ฌ์ฉ
- ๋์ id๋ผ๋ ๊ฒ์ ๋ฌด์กฐ๊ฑด ๊ทธ ํด๋น ์์ 1๊ฐ๋ง ์์ (unique)
- ์ค๋ฌด์์๋ inline style์ ๊ฑฐ์ ์์ (์ ๋ง ํน๋ณํ ๊ฒฝ์ฐ ์ ์ธํ๊ณ )
- SCSS ์ด์ฉํ๋ฉด ๋ณดํต ๋ณ์ ๊ฐ์ผ๋ก ํ์ฉํด์ ์์ ๋ฐ์์ ์ฌ์ฉ ๊ฐ๋ฅ
- ๋ณตํฉ ์ ํ์
- 2๊ฐ ์ด์ ๊ฐ์ด ์ด์ฉํด์ ์ฌ์ฉ
>์ด์ฉํด์ ์ฐพ์๊ฐ์ ๋ฐ๋ก ๋ฐ์ ์๋ ์์ ์ฐพ์์ ๋์์ธ ์ ์ฉ (์ง๊ณ ์์๋ค๋ง ์ฐพ์)- ๊ทธ ์์๊น์ง๋ ์๊ฐ
>๋นผ๋ฉด ๊ทธ ๋ฐ์ ์๋ ๋ ๋ค ๋์์ธ ๋จนํ (์์๊น์ง๋ ๋ค ํฌํจ)
- div.div-area2
- ํ๊ทธ ์ด๋ฆ์ด div์ด๋ฉด์ ํด๋์ค๋ช ์ด div-area2 ์ธ๊ฒ
- ํ์นธ ๋๋ฉด ํ์ ์์ ์๋ฏธํ๋ ๊ฒ์
- ์์ฑ ์ ํ์
- ex. input[type='text']
- JS์ document.querySelector('') ์ด์ฉํด์ html DOM ์์ ์ ๊ทผ
- querySelector('') ์์ ๋ค์ด๊ฐ๋ ๊ฒ์ด CSS Selectorํ๊ณ ๋ฌธ๋ฒ ๋์ผ
- cf. input[type=text]
- ๊ฐ์ ํด๋์ค ์ ํ์ (์๋ ํด๋์ค)
- action์ ๋ํ ์ค์ ๊ฐ๋ฅ
- ex. a:visited
- visited, hover ๋ฑ ํ๋ฆฐํธ๋ฌผ ์ฐธ๊ณ
- li:nth-child(2n + 1) // ํ์
- 2n์ ์ง์์
- external css
- css ์ธ๋ถ ํ์ผ๋ก ๋ถ๋ฆฌ
- html์ head ํ๊ทธ ์์ link:css
- html ์์๋ง๋ค ์ ํ ์ ์๋ ์์ธํ CSS
- ์๋ฐ JSP ๊ธฐ๋ฐ์ form ์ฌ์ฉํ์ง๋ง ์ต๊ทผ FE SPA ํ๋ ์์ํฌ๋ ์ฌ์ฉ ์ํจ (submit ๋ฐฉ์ ์ฌ์ฉ X)
- ๊ธฐ์กด html ๊ฐ์ง๊ณ ์๋ form ๋ด๋ถ submit ๊ด๋ จ ๊ธฐ๋ฅ ์ฌ์ฉ์ ๋ชปํ๋ ์์ฌ์
- ์ด์ angular.js ๋ ์ด์ ์ง์ ์ํ๋ค๊ณ ๋ฐํ๋จ
- ๊ทผ๋ฐ ํ์์์ผ๋ก angular ๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ฐ๋ก ์งํ?
- empty ํ๊ทธ; self-closing ํ๊ทธ
- form ํ๊ทธ
- action ์์ฑ ๊ฐ์ผ๋ก ์๋ฒ ์ฃผ์ ๋ฃ์
- ์ ๋ ฅ๋ ๊ฐ์ ๋ณด๋ผ ๊ณณ
- method ์์ฑ
- http ๋ฉ์๋
- GET; ์ฃผ์ URL์ ๋ณด์, read
- ๋งํฌ ์ ์ฅํ ์ฉ๋ ์๊ณ ํ๋ฒ์ ์ฐพ์๊ฐ ๋ ์ฌ์ฉ
- POST; ์ฃผ์ URL ์๋ณด์ด๋๋ก ๋ณด๋ด๊ธฐ, POST
- ๋ฐ์ดํฐ ์กฐํํ ๋๋ GET, POST ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅ
- ์กฐํํ ๋ POST ๋ฐฉ์ ์ฐ๋ฉด URL์ ์๋ณด์ด๊ฒ ๋์ ๊ณต์ ๋ถ๊ฐ
- ๋๊ตฐ๊ฐ ๋งํฌ ์ ์ฅํด์ ๋ฐ๋ก ๋ค์ด์ค๋ฉด ์๋๊ฑฐ๋ ํ ๋ POST ๋ฐฉ์ ์ฌ์ฉ
- ์ ์ ์ด๋ฉ์ผ, ์์ด๋ ๋ฑ์ URL ์ฃผ์์ ํ์ ์๋๊ณ ๊ฐ์ถ๋๋ก ํด์ผํ ๊ฒฝ์ฐ ์์
- GET; ์ฃผ์ URL์ ๋ณด์, read
- http ๋ฉ์๋
- target ์์ฑ
- _blank; ์ ์ฐฝ ์ด๋ฆฌ๋ฉด์ ์ ์ก๋จ
- form์์ iframe์ผ๋ก ์๊ณ iframe ์ชฝ์์ ์๋ฒ ์ฃผ์ ์ฌ์ฉํจ
(ํ๋ก๊ทธ๋ ์ค๋ฐ ๋ฑ ํ์ฉํด์ UX ๋์ผ ์ ์์)
(์ ์ ์ด๋ํ๋ค๊ฐ ํ์๊ฒ ๋ถ ๋ด๋ค๊ฐ ๋ค์ ๋์์ค๋ ๋ถํธํจ ๋ฐฉ์ง)
- action ์์ฑ ๊ฐ์ผ๋ก ์๋ฒ ์ฃผ์ ๋ฃ์
- formvalidate ์์ฑ์ input, form, button ๋ฑ์ ๋ค ๋ฃ์ ์ ์์
- form์๋ novalidate ์์ฑ ์ง์ ๊ฐ๋ฅ
- ์ค๋ฌด์์ validate ์ฒดํฌ ์ํ๋ ๊ฒฝ์ฐ ๊ฑฐ์ ์๊ธด ํจ
- JS ์ ๊ท์ ์ด์ฉํด์ ์ด๋ฉ์ผ, postal code ๋ฑ valid ์ฒดํฌ ์ฒ๋ฆฌ ์ ์ฉ
- section vs. article
- ์ฌ์ค ๊ตฌ๋ถ ํฌ๊ฒ ์ ๋งคํจ
- section; ์ปจํ ์ธ ๊ตฌ๋ถ
- article; ๊ธฐ์ฌ, ๋ธ๋ก๊ทธ ๋ด์ฉ ๋ฑ..
- aside vs. nav
- ์ข/์ฐ ์ธก ๋ฉ๋ด๋ฐ
- ๋ณดํต aside ์์ nav ์ด์ฉํจ
- ์ฌ์ค nav ๋ฐ๋ก ์ฌ์ฉํด์ ๊ฐ์ธํ ๊ธฐ๋ฅ์ผ๋ก ์๋จ ๋๋ ์ข/์ฐ์ธก ์ผ๋ก ์ ํ๋ ๊ฐ๋ฅ
- div ํ๊ทธ (division); ํน์ ๊ตฌ์ญ
- ํ๋ฉด์์ ์ปจํ ์ธ ์์น ์ก์ ์ ์๊ณ ์ปจํ ์ธ ๋ด๊ธฐ ๊ฐ๋ฅ
- ๊ณผ๊ฑฐ์๋ div ํ๊ทธ ์ด์ฉํด์ ๋ ์ด์์ ๋ค ์ก์์์
- ๋ชจ๋ ์์๋ค ๋ค div ํ๊ทธ ์์ ๋ฃ์ ์ ์์ด์ ๊ณผ๊ฑฐ์๋ div ํ๊ทธ ๋๋ฐฐ์์
- div ํ๊ทธ๋ ์น ํด์๊ธฐ๊ฐ ํด์ ๋ชปํจ
- ์๋งจํฑ ์์ ์ ๋ง๋ค์ด์ผ SEO์ ์ต์ ํ ์๋จ
- class ์์ฑ์ style ์ฃผ๋ ๋ฐฉ์ ์ค ํ๋
- css๋ ๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ์ ๋ ์์ค์ผ๋ก๋ง ์งํ ์์
- ๊ณผ๊ฑฐ์๋ html ์์ css ์ธ์ด ๊ฐ์ด ์์์
- ๋์ค์ ๋ถ๋ฆฌ๋จ
- ์ฐ๋ฆฌ๊ฐ CSS ๋ง์ด ํ ํ์๋ ์์
- ์ฝ๋ ๋ณด๊ณ ์ดํดํ ์ ์์ ์ ๋๋ฉด ๋จ (๋์์ธ ์ ์ฉ๋ ๊ฒ ์ดํด!)
- ๊ทธ๋์ผ ์๋กญ๊ฒ ๋์์ธ ์ ํ ์ ์์
- ํ๊ทธ, id, ํด๋์ค, * ๋ฑ ์ฌ๋ฌ selector ์์์ ์ฐ์ ์์
- id ์ ํ์๊ฐ ์ฐ์ ์์ ๊ฐ์ฅ ๋์
- ๊ทธ ๋ค์ ํด๋์ค, ํ๊ทธ
- ๊ฐ์ ์ข ๋ฅ๋ผ๋ฉด ๋์์ธ ์์ฑ ๊ฐ ๋ค ํฉ์ณ์ง
- ๊ฐ์ ์ข ๋ฅ์ด๊ณ ๋์ผํ ์์ฑ์ ๋ํ ๊ฒ์ด๋ฉด ์๋์ ์๋ ๊ฒ์ด ์ฐ์ ์์ ๋ ๋์
- ์ธ๋ผ์ธ ์คํ์ผ ๋ฐฉ์์ด ์ฐ์ ์์ ์ ์ผ ๋์ (๊ฐ๋ฐ์๋ค์ด ์ฃผ๋ก ๋ง์ด ํ์ฉ)
- ์ผ์ผ์ด external css ํ์ผ ์์ ํ๊ธฐ ๋๋ฌด ๋ฒ๊ฑฐ๋ก์
- ์ค๋ฌด์์๋ internal ์คํ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๊ฑฐ์ ์์
- ๋๋ถ๋ถ ์น ํผ๋ธ๋ฆฌ์ ๊ฐ external css ํ์ผ๋ก ๋ง๋ค์ด์ ๊ฐ๋ฐ์์๊ฒ ์ ๋ฌํจ
- CSS ์ ํ์ ์ดํดํ๋ ๊ฒ์ด ์ ์ผ ์ค์! (JS์์๋ ๊ณ์ ์ฌ์ฉํจ)
- Vue๋ HTML, CSS, JS ์์ฑํ๋ ์์ญ ์๋ฒฝํ ๋ถ๋ฆฌ๋จ
- FE ๊ฐ๋ฐ์๋ HTML, JS๋ง ์ง์คํด์ ์ฝ๋ฉ ๊ฐ๋ฅ
- React๋ ์ฝ๋ ์์ ํจ๊ป ์์ด์ CSS ์ ๋ค๋ค์ผ ํจ!
- ๋ฏธ๊ตญ ๊ฐ๋ฐ์๋ FE ๊ฐ๋ฐ์๊ฐ CSS ๋งค์ฐ ์ ๋ค๋ฃธ