a, abbr, acronym, audio, b, br, button, cite, code, data, datalist, del, em, embed, i, iframe, img, input, ins, label, map, mark, meter, object, output, pircture, progress, q, script, select, slot, small, span, strong, sub, sup, svg, template, textarea, time, u, tt, var, video, wbr
address, article, aside, audio, blockquoter, canvas, dialog, dt, dd, dl, div, fieldset, figcaption, figure, footer, form, h1~h6, header, hgroup, hr, noscript, main, nav, ol, output, p, pre, section, table, ul, video
<div>
: division
<header>
<nav>
<main>
<aside>
<section>
<article>
<footer>
<form>
<fieldset>
<legend>
태그를 사용하여 그룹화한 폼 엘리멘트들을 목적에 맞게 이름을 지정<label>
<input>
<select>, <optgroup>, <option>
<textarea>
<datalist>
<date>
<number>, <range>
<color>
CSS: Cascade Style Sheet
JS Fiddle
VSCode Extension: Live Server Preview
<p>, <div>, <span>
==>> p {color:blue}; div {font-size: 16px;}
... 등.box {width: 100px; height: 100px;}
#menu {margin: 0, padding: 20px;}
div[attr="val"]
: 'attr 속성의 값이 정확하게 'val'과 일치하는 요소 div를 선택함div[attr~="val"]
: 'attr 속성의 값에 'val'이 포함되는 요소 div를 선택함(공백으로 분리된 값이 일치해야함)div[attr^="val"]
: 'attr 속성의 값이 'val'으로 시작하는 요소 div를 선택함div[attr$="val"]
: 'attr 속성의 값이 'val'으로 끝나는 요소 div를 선택함div[attr*="val"]
: 'attr 속성의 값에 'val'이 포함되는 요소 div를 선택함div[attr|="val"]
: 'attr 속성의 값이 정확하게 'val'이거나, 'val-'으로 시작되는 요소 div를 선택함E F]
: E 요소의 자손인 F 요소를 선택함
E > F]
: E 요소의 자식인 F 요소를 선택함
E+F]
: E 요소를 뒤따르는 F요소를 선택함
E~F]
: E 요소가 앞에 존재하면 F를 선택함(E가 F보다 먼저 등장하지 않으면 선택하지 않음)
* {font-family: sans-serif}
: HTML 전체를 선택자로 함
div::lang(ko)]
: HTML lang 속성의 값이 'ko'으로 지정된 요소를 선택함
div::not(S)]
: S가 아닌 div 요소를 선택함
div::root]
: 문서의 최상위 요소(html)을 선택함div::nth-child(n)]
: 앞으로부터 지정된 순서와 일치하는 요소가 div라면 선택함div::nth-last-child(n)]
: 뒤로부터 지정된 순서와 일치하는 요소가 div라면 선택함div::nth-of-type(n)]
: div 요소 중 앞으로부터 순서가 일치하는 div 요소를 선택함div::nth-last-of-type(n)]
: div 요소 중 끝으로부터 순서가 일치하는 div 요소를 선택함div::first-child]
: 첫 번째 등장하는 요소가 div라면 선택함div::last-child]
: 마지막에 등장하는 요소가 div라면 선택함div::first-of-type]
: div 요소 중 첫 번째 div를 선택함div::last-of-type]
: div 요소 중 마지막 div를 선택함div::only-child]
: div 요소가 유일한 자식이면 선택함div::only-of-type]
: div 요소가 유일한 타입이면 선택함div::empty]
: 텍스트 및 공백을 포함하여 자식 요소가 없는 div를 선택함div::link]
: 방문하지 않은 링크 div를 선택함
div::visited]
: 방문한 링크 div를 선택함
div::active]
: div 요소에 마우스 클릭 또는 키보드 엔터가 눌린 동안 div를 선택함
div::hover]
: div 요소에 마우스가 올라가 있는 동안 div를 선택함
div::focus]
: div 요소에 포커스가 머물러 있는 동안 div를 선택함
div::enabled]
: 사용 가능한 폼 컨트롤(input, textarea, select, button) div를 선택함
div::disabled]
: 사용 불가능한 폼 컨트롤(input, textarea, select, button) div를 선택함
div::checked]
: 선택된 폼 컨트롤(input checked="checked")을 선택함
display: none
: 화면에 사라지며, 영역도 사라짐display: block
: 일반적으로 설정하지 않아도 div가 갖게되는 기본값임. 기본적으로 width가 자신의 컨테이너의 100%가 되게끔 함.(즉, 가로 한 줄을 다 차지함)display: inline
: 컨텐츠를 딱 감쌀정도의 크기만 갖게 됨. block태그와 다르게 줄바꿈이 되지 않고, 반드시 컨테츠를 감싸게 되고, 크기를 변화시킬 수 없음.display: inline-block
: inline과 block의 특성을 합쳐놓은 속성임. 기본적으로는 inline 속성을 지니고 있지만, 임의로 크기를 바꿔 줄 수 있음.CSS Grid는 CSS Flex와 같이 Container와 Item이라는 두 가지 개념으로 구분되어 있음
Container는 items를 감싸는 부모이며, 그 안에서 각 item을 배치할 수 있음
display: grid
: 그리드 컨테이너(container)를 정의
grid-template-rows: 4
: 명시적 행(Track)의 크기를 정의
grid-template-columns: 4
: 명시적 열(Track)의 크기를 정의
grid-template-areas: 4
: 영역(Area) 이름을 참조해 템플릿 생성
grid-template
: grid-template-xxx 의 단축 속성
row-gap: 4
: 행과 행 사이의 간격(Line)을 정의
column-gap: 4
: 열과 열 사이의 간격(Line)을 정의
gap
: xxx-gap의 단축 속성
grid-auto-rows: auto
: 암시적인 행(Track)의 크기를 정의
grid-auto-columns: auto
: 암시적인 열(Track)의 크기를 정의
grid-auto-flow: row | column | ...
: 자동 배치 알고리즘 방식을 정의
grid
: grid-template-xxx과 grid-auto-xxx 의 단축 속성
align-content: center
: 그리드 콘텐츠(Grid Contents)를 수직(열 축) 정렬
justify-content: center
: 그리드 콘텐츠를 수평(행 축) 정렬
place-content: center
: align-content와 justify-content의 단축 속성
align-items: center
: 그리드 아이템(items)들을 수직(열 축) 정렬
justify-items: center
: 그리드 아이템들을 수평(행 축) 정렬
place-items: center
: align-items와 justify-items의 단축 속성