
선택자 { 속성명: 속성값; … }Inline > Internal > External > defaultdisplay 객체의 노출 여부 / 표현방식
list-style
overflow
position 위치 / 좌표
float
clear
width/height 크기 / 여백
padding/margin
border/background 윤곽 / 배경
color/font 글자 / 정렬
text-decoration
text-align/vertical-align
white-space
other text
content 내용
→ 위치 선정 > 윤곽 > 외곽 디테일링 > 채색 > 타이포그래피
<tag style="color: red; text-align: center;"><head> </head> 사이에 <style> 태그로 지정<head>
<style>
**body {
color: blue;
}**
</style>
</head><head>
<link rel="stylesheet" href="style.css" />
</head>Box 모양

width height content 대상box-sizing: content-box 기본값box-sizing: border-box테두리 영역 기준
margin 영역부터 포함 X
직관적
전체 선택자
* { color: gold; }
HTML 요소 선택자
h2 { color: gold; }
id 선택자
<h2 id="jnary">css 재미없어</h2>
#jnary { color: gold; }
class 선택자
<h2 class="jnary">css 재미없어</h2>
.jnary { color: gold; }
#jnary, .jnary { color: gold; }
결합(그룹) 선택자
공백div p { color: gold; }>div > p { color: gold; }형제 선택자
~해당 요소보다 뒤에 존재
div ~ p { color: gold; }
+해당 요소 바로 뒤에 존재
div + p { color: gold; }
가상 클래스
:link :visited :hover :active :focus :checked :enabled :disabled :first-child :nth-child :first-of-type :nth-of-type :not :langinput:focus { color: gold; }
가상 요소
::first-letter ::first-line ::before ::after ::selection ::marker ::placeholderinput::placeholder { color: gold; }
속성 선택자
[attributename] 특정 속성을 가진 모든 요소[attributename = "value"] 특정 속성, 속성값을 가진 모든 요소input[type="password"] { color: gold; }
!important 지양Inlineidclass / 가상 선택자staticrelativestatic 요소 기준으로 위치 설정absolutestatic 이 아닌 요소 기준으로 위치 설정fixedstickyrelative fixed 속성으로 변경z-index 속성
stacking context에서 자신의 위치 지정

→ 부모의 쌓임 맥락을 벗어날 수 X
정수 값 사용
position ≠ static 일 때 동작
display: flex;
flex-direction
row 기본값 / column row-reverse / column-reverseflex-wrap
nowrap 기본값, 줄바꿈X, overflow 할 수도 wrap 줄바꿈 / wrap-reverse 역순 줄바꿈justify-content
flex-start 기본값 / flex-end / center space-between / space-around / space-evenlyalign-items
normal 기본값 / flex-start / flex-end center / baseline / stretch 컨테이너에 맞춰서 늘림
align-content
align-items 와 속성값 동일
gap
order
flex-basis
auto 기본값 / content 컨텐츠의 크기 / pxflex-grow

flex-shrink
flex
flex: (flex-grow) (flex-shrink) (flex-basis)align-self
align-items 설정 상속 받음 → 개별 설정 우선auto 기본값 / stretch flex-start flex-end center baseline
display: grid;
grid-template-rows grid-template-columns
/* 고정 크기 */
grid-template-columns: 200px 200px 500px;
/* 가변 크기 (비율대로 나누기) */
grid-template-columns: 1fr 1fr 1fr;repeat(반복횟수, 반복값)grid-template-columns: 1fr 1fr 1fr;
grid-template-columns: repeat(3, 1fr);minmax(최솟값, 최댓값)grid-template-rows: repeat(3, minmax(100px, auto));auto-fill 개수가 적을 때 공간 남기기 auto-fit 남는 공간 채우기grid-template-columns: repeat(auto-fill, minmax(20%, auto));row-gap column-gap
gap: (row-gap) (column-gap);grid-auto-columns grid-auto-rows
grid-template-rows: repeat(3, minmax(100px, auto));
/* row 개수 모를 때 */
grid-auto-rows: minmax(100px, auto);
grid-template-areas
grid-template-areas:
"header header header"
" a main b "
" . . . "
"footer footer footer";. nonegrid-area 속성으로 이름 지정.header { grid-area: header; }align-items
start center end stretchjustify-items
place-items
place-items: (align-items) (justify-items)align-content
start center end stretch space-between space-around space-evenlyjustify-content
place-content
place-content: (align-content) (justify-content)grid-column-start grid-column-end grid-column
grid-row-start grid-row-end grid-row
grid-column-start: 1;
grid-column-end: 3;
/* grid-column: 1 / 3; */
grid-row-start: 1;
grid-row-end: 2;
/* grid-row: 1 / 2; *//* 1번 라인에서 2칸 */
grid-column: 1 / span 2;
grid-column: auto / span2; /* 시작지점 auto 가능 */grid-column: 2; end 생략 시 한 칸grid-auto-flow
row 순서대로 배치 후 들어갈 자리 없으면 칸 비워두고 개행 column 아래로 배치 dense 빈 셀을 채우는 알고리즘 (row dense column dense)align-self
justify-self
place-self
place-self: (align-self) (justify-self)order
z-index