반응형
CSS
기존의 HTML은 웹 문서를 다양하게 설계하고 수시로 변경하는데 많은 제약이 따르는데, 이를 보완하기 위해 만들어진 것이 스타일 시트이고 스타일 시트의 표준안이 바로 CSS입니다. 간단히 스타일 시트라고도 합니다.
HTML을 이용해서 웹 페이지를 제작할 경우 전반적인 틀에서 세세한 글꼴 하나 하나를 일일이 지정해주어야 하지만, 웹 페이지의 스타일(작성형식)을 미리 저장해 두면 웹 페이지의 한 가지 요소만 변경해도 관련되는 전체 페이지의 내용이 한꺼번에 변경되므로, 문서 전체의 일관성을 유지할 수 있고 작업 시간도 단축됩니다.
따라서 웹 개발자들은 보다 풍부한 디자인으로 웹을 설계할 수 있고, 글자의 크기, 글자체, 줄간격, 배경 색상, 배열위치 등을 자유롭게 선택하거나 변경할 수 있으며 유지·보수도 간편하게 할 수 있습니다.
- 기본 선택자
종류 | 설명 | 작성 예시 |
전체 선택자 | 문서의 모든 요소에 스타일을 적용합니다. | * { margin: 0; } |
타입 선택자 | 특정 태그를 사용한 모든 요소에서 스타일을 적용합니다. | p { font-style: italic; } |
클래스 선택자 | 특정 부분만 선택해서 문서 안에 여러 번 적용 합니다. 마침표(.)를 붙여서 사용합니다. | .bg { background-color: #ddd; } |
id 선택자 | 특정 부분만 선택해서 문서 안에 여러 번 적용 합니다. #을 붙여서 사용합니다. | #container { width: 500px; } |
그룹 선택자 | 여러 요소에 같은 스타일을 적용할 때 사용합니다. | h1, h2 { text-align: center } |
- 연결 선택자
종류 | 설명 | 형식 |
하위 선택자 | 상위 요소에 포함된 모든 하위 요소를 선택합니다. | 상위요소 하위요소 |
자식 선택자 | 부모 요소에 포함된 자식 요소만 선택합니다. | 부모요소 > 자식요소 |
인접 형제 선택자 | 요소1 이후 맨 먼저 오는 형제 요소를 선택합니다. | 요소1 + 요소2 |
형제 선택자 | 요소1과 형제인 모든 요소를 선택합니다. | 요소1 ~ 요소2 |
- 속성 선택자
종류 | 선택 요소 | 예시 |
[속성] | 해당 속성이 있는 요소 | [required] |
[속성 = 값] | 지정한 속성값이 있는 요소 | [target = _blank] |
[속성 ~= 값] | 지정한 속성값이 포함된 요소 (단어별) | [class ~= button] |
[속성 |= 값] | 지정한 속성값이 포함된 요소 (하이픈 포함, 단어별) | [title |= us] |
[속성 ^= 값] | 지정한 속성값으로 시작하는 요소 | [title ^= eng] |
[속성 $= 값] | 지정한 속성값으로 끝나는 요소 | [href $= xls] |
[속성 *= 값] | 지정한 속성값의 일부가 일치하는 요소 | [href *= w3] |
- 가상 클래스
종류 | 설명 |
:link | 방문하지 않은 링크에 스타일을 적용합니다. |
:visited | 방문했던 링크에 스타일을 적용합니다. |
:hover | 지정한 요소에 마우스 포인터를 올려놓을 때 스타일을 적용합니다. |
:active | 지정한 요소를 활성화했을 때 스타일을 적용합니다. |
:focus | 지정한 요소에 초점이 맞춰졌을 때 스타일을 적용합니다. |
:target | 앵커 대상에 스타일을 적용합니다. |
:enabled | 지정한 요소를 사용할 수 있는 상태일 때 스타일을 적용합니다. |
:disabled | 지정한 요소를 사용할 수 없는 상태일 때 스타일을 적용합니다. |
:checked | 선택한 요소의 스타일을 적용합니다. |
:not | 지정한 요소가 아닐 때 선택해서 스타일을 적용합니다. |
- 구조 가상 클래스
선택자 | 설명 |
:only-child | 부모 안에 자식 요소가 하나뿐일 때 자식 요소를 선택합니다. |
A:only-type-of | 부모 안에 A 요소가 하나뿐일 때 선택합니다. |
:first-child | 부모 안에 있는 모든 요소 중에서 첫 번째 자식 요소를 선택합니다. |
:last-child | 부모 안에 있는 모든 요소 중에서 마지막 자식 요소를 선택합니다. |
A:first-of-type | 부모 안에 있는 A 요소 중에서 첫 번째 요소를 선택합니다. |
A:list-of-type | 부모 안에 있는 A 요소 중에서 마지막 요소를 선택합니다. |
:nth-child(n) | 부모 안에 있는 모든 요소 중에서 n번째 자식 요소를 선택합니다. |
:nth-last-child(n) | 부모 안에 있는 모든 요소 중에서 끝에서 n번째 자식 요소를 선택합니다. |
A:nth-of-type(n) | 부모 안에 있는 A 요소 중에서 n번째 요소를 선택합니다. |
A:nth-last-of-type(n) | 부모 안에 있는 A 요소 중에서 끝에서 n번째 요소를 선택합니다. |
- 가상 요소
종류 | 설명 |
::first-line | 첫 번째 줄을 선택합니다. |
::first-letter | 줄에서 첫 번째 글자를 선택합니다. |
::before | 특정 요소의 앞에 내용이나 스타일을 추가합니다. |
::after | 특정 요소의 뒤에 내용이나 스타일을 추가합니다. |
- 글자와 관련된 속성
종류 | 설명 |
font-family | 글꼴 종류를 지정합니다. |
font-size | 글자 크기를 지정합니다. |
font-style | 글자를 이탤릭체로 표시할지 지정합니다. |
font-weight | 글자의 굵기를 지정합니다. |
- 텍스트 스타일 속성
종류 | 설명 |
color | 글자색을 지정합니다. |
text-decoration | 텍스트에 밑줄이나 취소선을 표시할지 여부를 지정합니다. |
text-transform | 텍스트 전체, 또는 첫 글자를 대문자로 표시합니다. |
text-shadow | 텍스트에 그림자를 추가합니다. |
letter-spacing | 글자 사이의 간격을 지정합니다. |
word-spacing | 단어 사이의 간격을 지정합니다. |
text-align | 텍스트 정렬 방법을 지정합니다. |
line-height | 줄 간격을 조절합니다. |
- 박스 모델 속성
종류 | 설명 |
width | 박스 모델의 너비를 설정합니다. |
height | 박스 모델의 높이를 지정합니다. |
box-sizing | 박스 모델의 크기를 계산하는 기준을 지정합니다. |
box-shadow | 박스 모델에 그람자 효과를 추가합니다. |
- 테두리 속성
종류 | 속성 |
border-style | 상하좌우 4개 방향의 테두리 스타일을 한꺼번에 지정합니다. |
border-위치-style | '위치' 자리에 top, right, bottom, left 중에서 선택해서 특정 위치의 테두리 스타일만 지정합니다. |
border-width | 상하좌우 4개 방향 테두리 두께를 한꺼번에 지정합니다. |
border-위치-width | '위치' 자리에 top, right, bottom, left 중에서 선택해서 특정 위치의 테두리 두께만 지정합니다. |
border-color | 상하좌우 4개 방향 테두리 색상을 한꺼번에 지정합니다. |
border-위치-color | '위치' 자리에 top, right, bottom, left 중에서 선택해서 특정 위치의 테두리 색상만 지정합니다. |
border-radius | 상하좌우 4개 방향 꼭짓점을 한꺼번에 둥글게 만듭니다. |
border-위치-radius | '위치' 자리에 top-left, top-right, bottom-right, bottom-left 드을 선택해서 특정 꼭짓점만 둥글게 처리합니다. |
- 여백 속성
종류 | 설명 |
margin | 상하좌우 4개 방향의 마진을 한꺼번에 지정합니다. |
margin-위치 | '위치' 자리에 top, right, bottom, left 중에서 선택해서 특정 위치의 마진만 지정합니다. |
padding | 상하좌우 4개 방향의 패딩을 한꺼번에 지정합니다. |
padding-위치 | '위치' 자리에 top, right, bottom, left 중에서 선택해서 특정 위치의 패딩만 지정합니다. |
- 레이아웃 속성
종류 | 설명 |
display | 화면에서 요소를 배치 방법을 지정합니다. 자주 사용하는 주요 속성으로 block, inline, inline-block, none 등이 있습니다. |
float | 웹 요소를 왼쪽이나 오른쪽으로 배치합니다. float를 적용한 요소는 clear 속성으로 해제 하지 않으면 뒤에 오는 요소도 계속 왼쪽이나 오른쪽으로 연결해서 배치됩니다. |
- 위치 지정 속성
종류 | 설명 |
left, right, top, bottom | 기준 위치와 요소 사이에 상하좌우 얼마나 떨어져 있는지 지정합니다. |
position | 웹 요서의 위치를 지정합니다. 속성값으로 static, relative, absolute, fixed가 있습니다. |
- 배경 이미지 관련 속성
종류 | 속성 |
background-color | 배경색을 지정합니다. |
background-clip | 배경색이나 이미지를 어디까지 적용할지 지정합니다. |
background-image | 배경 이미지를 지정합니다. |
background-repeat | 배경 이미지의 반복 방법을 지정합니다. |
background-position | 배경 이미지의 이치를 지정합니다. |
background-origin | 배경 이미지를 배치할 기준을 지정합니다. |
background-attachment | 배경 이미지를 문서에 고정합니다. |
background | 하나의 속성으로 배경 스타일을 한꺼번에 지정합니다. |
background-size | 배경 이미지의 크기를 조절합니다. |
- 웹에서 색상을 지정하는 방법
방법 | 설명 | |
16진수 | 빨강, 초록, 파랑 각각 두 자리씩 총 여섯 자리의 16진수로 색상을 표현합니다. | |
rgb, rgba | rgb(R, G, B) | 빨강, 초록 파랑의 양을 0~255 사이의 숫자로 표현합니다. |
rgba(R, G, B, a) | rgb 형식에 불투명도를 함께 표현합니다. | |
hsl, hsla |
hsl(H, S, L) |
색상, 채도, 명도의 값을 색상 표현합니다. |
hsla(H, S, L, a) | hsl 형식에 불투명도를 함께 표현합니다. | |
색상 이름 | red, yello, black과 같은 색상 이름을 사용합니다. |
- 변형 함수
translate( ) 함수: 요소 이동하기 | |
transform: translate(tx, ty) | 지정한 크기만큼 x축과 y축으로 이동합니다. |
transform: translate(tx, ty, tz) | 지정한 크기만큼 x축, y축, z축으로 이동합니다. |
transform: translateX(tx) | 지정한 크기만큼 x축으로 이동합니다. |
transform: translateY(ty) | 지정한 크기만큼 y축으로 이동합니다. |
transform: translateZ(tz) | 지정한 크기만큼 z축으로 이동합니다. |
- 미디어 쿼리의 속성
종류 | 설명 |
width, height | 웹 페이지의 가로 너비, 세로 높이 |
min-width, min-height | 웹 페이지의 최소 너비, 최소 높이 |
max-width, max-height | 웹 페이지의 최대 너비, 최대 높이 |
device-width, device-height | 단말기의 가로 너비, 세로 높이 |
min-device-width, min-device-height | 단말기의 최소 너비, 최소 높이 |
max-device-width, max-device-height | 단말기의 최대 너비, 최대 높이 |
orientation: portrait | 단말기의 세로모드 |
orientation: landscape | 단말기의 가로 모드 |
- 플렉스 박스 레이아웃의 속성
종류 | 설명 | 속성값 |
display | 플렉스 컨테이너를 지정합니다. | flex, inline-flex |
flext-direction | 플렉스 항목에서 주축과 방향을 지정합니다. | row, row-reverse, column, coumn-reverse |
flex-wrap | 컨테이너 너비보다 항목이 많을 경우 줄 바꿈 여부를 지정합니다. | nowrap, wrap, wrap-reverse |
flex-flow | 배치 방향과 줄 바꿈을 한번에 지정합니다. | flex-direction 속성값과 flex-wrap 속성값 사용 |
justify-content | 주축에서 플렉스 항목 정렬 방법을 지정합니다. | flex-start, flex-end, center, space-between, space-around |
align-items | 교차축에서 플렉스 항목 정렬 방법을 지정합니다. | flex-start, flex-end, center, baseline, stretch |
align-self | 특정 플렉스 항목의 정렬 방법을 지정합니다. | flex-start, flex-end, center, baseline, stretch |
align-content | 여러 줄일 때 교차축 정렬 방법을 지정합니다. | flex-start, flex-end, center, space-between, space-around, stretch |
flex | 플리스 항목의 너비를 줄이거나 늘립니다. | 1개에서 3개까지의 값, auto, initial |
- CSS 그리드 레이아웃의 속성과 함수
종류 | 설명 | 속성값 |
display | 그리드 컨테이너를 지정합니다. | grid, inline-grid |
grid-template-columns | 칼럼을 지정합니다. | 크깃값 |
grid-template-rows | 줄 높이를 지정합니다. | 크깃값 |
grid-column-gap | 칼럼과 칼럼 사이의 간격을 지정합니다. | 크깃값 |
grid-row-gap | 줄과 줄 사이의 간격을 지정합니다. | 크깃값 |
grid-gap | 칼럼과 줄 사이의 간격을 한꺼번에 지정합니다. | 크깃값 |
grid-column-start | 칼럼 시작의 라인 번호를 지정합니다. | 숫자 |
grid-column-end | 칼럼 마지막의 라인 번호를 지정합니다. | 숫자 |
grid-column | 칼럼 시작 번호와 끝 번호 사이에 슬래시(/)를 넣어 사용합니다. | 숫자 |
grid-row-start | 줄 시작의 라인 번호를 지정합니다. | 숫자 |
grid-row-end | 줄 마지막의 라인 번호를 지정합니다. | 숫자 |
grid-row | 줄 시작 번호와 줄 끝 번호 사이에 슬래시(/)를 넣어 사용합니다. | 숫자 |
grid-area | 템플릿 이름을 지정합니다. | |
grid-template-areas | grid-area를 사용해 템플릿 그리드를 만듭니다. | |
minmax( ) | 최솟값과 최댓값을 지정하는 함수입니다. | 크깃값, auto |
repeat( ) | 같은 값을 여러 번 반복할 때 사용하는 함수입니다. | 크깃값, auto-fill, auto-fit |
반응형
'HTML' 카테고리의 다른 글
[HTML] HTML 태그 종류 및 설명 (0) | 2023.06.25 |
---|