HTML은 콘텐츠를 표현하기 위한 언어
Metadata Content
head
내에 정의link, meta, noscript, script, style, title
Flow Content
Metadata
의 일부를 제외하고 모두 포함Sectioning Content
article, aside, nav, section
Heading Content
h1, h2, h3, h4, h5, h6
Phrasing Content
abbr, audio, b, br, button, canvas, cite, code,
em, embed, i, iframe, img, input,
label, mark, math, meter, noscript, object, output,
script, select, small, span, strong, svg, textarea, time,
video, text
Embedded Content
audio, canvas, embed, iframe, img, math, object, svg, video
Interactive Content
a, button, details, embed, iframe, select, textarea, keygen, label
콘텐츠 모델을 바탕으로 전체적인 아웃라인을 구성
<h1>
~ <h6>
태그를 기반으로 정보 구조를 정의<section>
, <article>
, <nav>
, <aside>
를 기반으로 명시적 개요를 생성명시적 섹션
: Sectioning Content를 사용해 명시적으로 개요를 생성하도록 만든 섹션
암시적 섹션
: Sectionint Content 없이 Heading만을 이용해 암시적으로 개요가 생성된 섹션
<!-- 명시적 섹션 -->
<body>
<h1>H1
<article>
<h2>H2
<section>
<h3>H3
<!-- 암시적 섹션 -->
<body>
<h1>H1
<h2>H2
<h3>H3
div
, span
과 같이 의미가 없는 태그는 이름만으로는 어떤 내용인지 유추할 수 없지만 header
, section
, article
, nav
, footer
, aside
, hgroup
, h1
-h6
요소 등 의미가 있는 태그는 내용을 명확하게 알 수 있음div
> div
> div
) 유리특정 요소를 대상으로 스타일을 적용하기 위한 속성
id
: 유일한 요소에 스타일 적용 (#
)class
: 복수의 요소에 스타일 적용 (.
)id
속성이 class
속성보다 우선순위가 높음한국형 웹 콘텐츠 접근성 지침에는 웹페이지의 head 요소 안에 페이지의 기본 언어 선언을 규정
Cascading Style Sheets
는 HTML, XML 등 텍스트 문서 스타일링에 사용되는 스타일 시트 언어
style
속성<style>
태그를 사용해 HTML 문서 내부에서 정의CSS 파일
을 분리해 HTML 문서에 넣기color
, font-family
등은 상속box-model
로 불리는 속성(width
, height
, margin
, padding
, border
)들은 크기와 배치 관련된 속성이기 때문에 상속되지 않음tag
, id
, class
등으로 선택공백
: 모든 자식 요소에 적용>
: 바로 하위 자식 요소에 적용Content
: 요소의 텍스트나 이미지 등 실제 내용이 위치Padding
: 테두리 안쪽에 위치하는 요소의 내부 여백Border
: 테두리 영역Margin
: 테두리 바깥에 위치하는 요소의 외부 영역static
: 요소를 일반적인 문서 흐름에 따라 배치relative
: 문서를 일반적인 흐름에 따라 배치하고 자기 자신을 기준으로 top
, right
, bottom
, left
값에 따라 오프셋 적용absolute
: 요소를 일반적인 문서 흐름에서 제거하고 조상 요소에 상대적으로 배치 (조상 요소 중 지정 요소가 없다면 초기 컨테이닝 블록이 기준)fixed
: 요소를 일반적인 문서 흐름에서 제거하고 뷰포트를 기준으로 배치sticky
: 요소를 일반적인 문서 흐름에 따라 배치하고 임계점(scroll) 이전에는 relative
와 같이, 이후에는 fixed
와 같이 동작레이아웃 배치 전용 기능
Flex Container
, 자식 요소가 Flex Item
inline-flex
: 컨테이너가 inline 속성이 되어 width가 조정row
: 기본값으로 아이템이 행 방향으로 배치row-reverse
: 아이템이 역순으로 가로 배치column
: 아이템이 열 방향으로 배치column-reverse
: 아이템들이 역순으로 세로 배치nowrap
: 기본값으로 줄바꿈을 하지 않고 overflowwrap
: 줄바꿈wrap-reverse
: 줄바꿈하며 아이템을 역순으로 배치flex-direction
과 flex-wrap
을 한꺼번에 지정flex-start
: 기본값으로 아이템들을 시작점으로 정렬flex-end
: 아이템을 끝점으로 정렬center
: 아이템을 가운데로 정렬space-between
: 아이템들의 사이에 균일한 간격space-around
: 아이템의 둘레에 균일한 간격space-evenly
: 아이템들 사이와 양 끝에 균일한 간격stretch
: 기본값으로 아이템들이 수직축 방향으로 늘어남flex-start
: 아이템을 시작점으로 정렬flex-end
: 아이템을 끝으로 정렬center
: 아이템을 가운데로 정렬baseline
: 아이템을 텍스트 베이스라인 기준으로 정렬wrap
상태에서 아이템이 2줄 이상 되었을 때 수직축 방향 정렬을 결정justify-content
, align-items
와 같은 속성flex-basis
의 값보다 커질 수 있는지 결정flex-basis
의 값보다 작아질 수 있는지 결정flex-basis
보다 작아지지만 0이면 아이템이 작아지지 않음flex-grow
, flex-shrink
, flex-basis
를 한 번에 쓸 수 있는 축약형align-items
의 아이템 버전display: grid
로 시작
repeat()
: 반복되는 값을 자동으로 처리minmax()
: 최솟값과 최댓값을 지정grid-template-columns(or grid-template-rows)
의 통제를 벗어난 위치에 있는 트랙의 크기를 지정grid-template-areas
로 이름을 지정하고 아이템 요소에서 grid-area
속성으로 이름을 지정row
, column
으로 행렬 배치dense
: 빈 셀을 채움stretch
, start
, center
, end
stretch
, start
, center
, end
align-items
와 justify-items
를 같이 쓸 수 있는 단축 속성stretch
, start
, center
, end
, space-between
, space-around
, space-evenly
stretch
, start
, center
, end
, space-between
, space-around
, space-evenly
align-content
와 justify-content
를 같이 쓸 수 있는 단축 속성align-self
와 justify-self
를 같이 쓸 수 있는 단축 속성한 요소(element)가 보통 흐름(normal flow)으로부터 빠져 텍스트 및 인라인(inline) 요소가 그 주위를 감싸는 자기 컨테이너의 좌우측을 따라 배치
none
: 띄우지 않음left
: 왼쪽에 띄움right
: 오른쪽에 띄움initial
: 기본값으로 설정inherit
: 부모 요소로부터 상속clear
사용참고자료
https://velog.io/@simoniful/HTML-CSS-HTML-Basics-2
https://studiomeal.com/archives/533
https://studiomeal.com/archives/197
https://developer.mozilla.org/ko/docs/Learn/CSS/Building_blocks/Cascade_and_inheritance
https://velog.io/@syoung125/시맨틱-태그-Semantic-Tag-잘-사용하기
https://www.w3schools.com/html/html5_semantic_elements.asp