개요
지난 장에서 배운 선택자를 활용하려면 선언부에서 사용할 수 있는 스타일 관련 속성과 속성애서 사용할 수 있는 속성값을 알아야 한다. 그래서 이번에는 두 편에 걸쳐 CSS의 기본적인 특징과 여러 속성을 통해 웹 페이지의 스타일을 효과적으로 제어하는 방법을 살펴본다. 먼저, CSS의 전반적인 특징을 살펴본 후, 텍스트를 꾸미기 위한 다양한 텍스트 속성을 배우게 된다. 이어서, 웹 요소의 레이아웃을 구성하는 핵심 개념인 박스 모델을 이해하고, 이를 활용해 요소의 크기와 배치를 제어하는 방법을 다룬다. 마지막으로, 배경 속성을 통해 웹 요소의 배경을 설정하고, 디자인을 더 다채롭게 만드는 방법을 알아볼 예정이다.
CSS의 특징 살펴보기
기본 스타일 시트 : 웹 브라우저 자체에 내장되어 있는 스타일이 미리 정의된 파일 또는 문서 양식.
적용 우선순위
사용자 우선 : 사용자가 별도로 정의한 스타일 속성 > 기본 스타일 시트
ex) 정의되지 않은 것은 기본을 따르되 정의된 것은 사용자 속성을 따름.
CSS 개별성 규칙 : 아래 표의 점수에 따라 점수가 클수록 우선순위가 높아진다.
선택자 | 예 | 점수 |
전체 선택자 | * | 0 |
태그 선택자 | div, p, h1 | 1 |
가상 요소 선택자 | ::before, ::after | 1 |
클래스 선택자 | .box, .title | 10 |
가상 클래스 선택자 | :hover, :visited, :link | 10 |
아이디 선택자 | #title, #main | 100 |
인라인 스타일 | style="color:red" | 1,000 |
!important | - | 10,000 |
상속
부모 요소에 적용된 스타일을 자식요소가 그대로 물려받아 적용되는 현상.
단, 모든 속성이 상속되지는 않는다.

단위
절대 단위 : 어떤 환경이라도 동일한 크기로 보이는 단위(px)
상대 단위 : 부모 요소 또는 웹 브라우저의 창 크기에 따라 상대적으로 결정되는 단위
단위 | 설명 |
% | 해당 속성의 상위 요소 속성값에 상대적인 크기를 가진다 |
em | 부모 요소의 텍스트 크기에 상대적인 크기를 가진다 |
rem | html 태그의 텍스트 크기에 상대적인 크기를 가진다 |
vw | 뷰포트의 너비를 기준으로 상대적인 크기를 가진다 |
vh | 뷰포트의 높이를 기준으로 상대적인 크기를 가진다 |
색상 표기법
- 키워드 표기법 : 색상의 영문명 사용. vs code의 자동완성 기능을 사용하면 유용함.
- RGB 색상 표기법 : rgb(255, 255, 255) 로 코드 입력.
- HEX 색생 표기법 : #ffffff 사용.
텍스트 속성으로 텍스트 꾸미기
font-family 속성
글꼴을 지정할 수 있다. 쉼표로 구분하여 1개 이상의 글꼴을 나열해 지정할 수 있다.
한글이거나 공백이 있는 글꼴명은 큰따옴표로 감싸야 한다.
font-family:BatangChe, "Times New Roman", "궁서체", serif;
마지막에는 글꼴 유형(generic family)를 작성하도록 권장한다. 순차적으로 모든 글꼴을 불러오지 못할 때 마지막에 가장 유사한, 반드시 불러올 수 있는 글꼴을 추가하는 것이 안정적이기 때문이다.
글꼴 유형 | 설명 |
serif | 삐침이 있는 명조 계열의 글꼴 |
sans-serif | 삐침이 없고 굵기가 일정한 고딕 계열의 글꼴 |
monospace | 텍스트 폭과 간격이 일정한 글꼴 |
fantasy | 화려한 글꼴 |
cursive | 손으로 쓴 것 같은 필기체 계열의 글꼴 |
font-size 속성
텍스트 크기를 변경할 수 있는 속성.
font-weight 속성
텍스트 굵기를 지정하는 속성. 숫자 표기법과 키워드 표기법을 사용할 수 있다.
font-weight:100; /*100 ~ 900*/
font-weight:lighter /*normal=400, bold=700. lighter,bolder=상대값*/
font-style 속성
글꼴의 스타일을 지정할 때 사용한다.
속성값 | 설명 |
normal | 기본 형태 |
italic | 이탤릭체 |
oblique | 기울임꼴 |
italic과 oblique는 적용 방식이 다르지만, 웹 브라우저 상에서는 큰 차이가 나지 않는다.
font-variant 속성
영문 텍스트를 크기가 작은 대문자로 변경할 때 사용한다.
small-caps 속성값을 적용하면 소문자 텍스트가 작은 크기의 대문자로 표시된다.
color 속성
텍스트의 색상을 지정할 때 사용한다. 위에서 배운 색상 표기법을 사용해 원하는 색을 적용할 수 있다.
text-align 속성
텍스트를 정렬할 때 사용한다.
left, center, right, justify가 있다.
justify : 양쪽으로 정렬한다. 웹 브라우저 크기에 맞춰 텍스트 간격을 임의로 늘린다.
text-decoration 속성
텍스트에 선을 그을 때 사용한다.
속성값 | 설명 |
none | 텍스트 장식 없음 |
line-through | 중간을 관통하는 선 |
overline | 텍스트 위에 선 |
underline | 텍스트 아래 선 |
letter-spacing 속성
자간을 조절할 때 사용한다. normal을 사용하면 기본값이 적용된다.
line-height 속성
텍스트 한 줄의 높이를 지정할 때 사용한다. 역시나 normal이 기본값이고 숫자, 퍼센트, 크기 등을 넣을 수 있다.
박스 모델을 구성하는 속성 다루기
박스 모델 : HTML 요소가 사각형의 박스로 둘러쌓여 있다는 개념.
구성 요소 | 설명 |
margin | 요소의 외부 여백 |
border | 요소의 테두리 |
padding | 요소의 내부 여백 |
content | 요소의 내용 |
margin 영역
margin-top: 20px; /*사방으로 각각 설정.*/
margin: 1px 2px 3px 4px; /*상, 우, 하, 좌 서순*/
margin: 1px 2px 3px; /*상, 우, 하*/
margin: 1px 2px; /*상하, 좌우*/
margin: 1px; /*사방 동시적용*/
박스 모델에서 가장 외부에 있는 영역. 외부 여백 담당. 기본은 16px이다.

같은 레벨(형제 관계)에 있는 요소들의 margin 영역이 중첩되면 더 큰 값을 가진 margin 영역으로 병합되어 출력된다.
border 영역
margin보다 안쪽에 있으며, 요소의 테두리(경계선)을 담당한다.
border:<border-width> <border-style> <color>;
내부 속성들을 별도로 작성하면 따로 속성을 적용할 수도 있다.
# border-style 속성

padding 영역
padding-top: 20px; /*사방으로 각각 설정.*/
padding: 1px 2px 3px 4px; /*상, 우, 하, 좌 서순*/
padding: 1px 2px 3px; /*상, 우, 하*/
padding: 1px 2px; /*상하, 좌우*/
padding: 1px; /*사방 동시적용*/
요소의 내부 여백. 속성은 margin과 형식이 거의 같다.
content 영역
텍스트 관련 스타일 속성 = content 영역 제어 속성.
width 와 height 속성 : content 영역의 너비와 높이를 정해준다.
하지만, 이 속성은 "요소"의 너비와 높이는 아니다. 그 이유는 요소의 너비와 높이는 content, padding, border를 모두 포함하기 때문이다. 따라서 요소의 크기를 쉽게 정의하려면 box-sizing 속성이 필요하다.
속성값 | 설명 |
content-box | width, height의 속성 적용 범위를 content 영역으로 제한 |
border-box | width, height의 속성 적용 범위를 border 영역으로 제한 |
박스 모델의 성격과 display 속성
- 블록 성격 : 요소의 너비가 항상 가로 한줄을 다 차지한다.
- 인라인 성격 : 요소의 너비를 콘텐츠 크기만큼만 차지한다.
- 인라인 블록 성격 : 요소의 너비는 인라인 성격을 따르되 그 외는 블록 성격을 따른다.
- 비교 :
블록과 인라인블록 성격은 width, height, margin,padding 속성이 모두 적용.
인라인 성격은 width, height이 적용되지 않음. - display 속성 : 위에서 설명한 박스모델을 사용자 정의로 변경 가능.
배경 속성으로 요소의 배경 설정하기
background-color 속성
배경세 색상을 넣을 수 있는 속성. 텍스트 때 배운 색상값을 사용하면 된다.
background-image 속성
요소의 배경에 image를 넣을 수 있다. 속성값은 이미지의 경로를 url 함수로 지정한다.
주의 사항 :
1. 요소의 배경 크기가 존재해야 한다. (width, height.)
2. 이미지의 크기가 요소의 배경 크기와 맞지 않으면 어색하게 보인다. (이미지가 잘리거나, 남는 만큼 반복됨.)
background-repeat 속성
위에서 이미지가 자동으로 반복되는 설정을 바꿀 때 사용한다.
속성값 | 설명 |
no-repeat | 이미지를 반복하지 않는다 |
repeat-x | 가로방향으로 반복한다 |
repeat-y | 세로 방향으로 반복한다 |
repeat | 이미지가 가로세로 방향으로 반복한다 |
round | 이미지를 반복하되 요소에 딱 맞도록 크기를 자동 조절한다 |
space | 이미지가 잘리지 않도록 반복한다 |
background-size 속성
배경이 이미지보다 작을 때 잘리는 문제를 해결할 수 있다.
형식 : background-size:auto|cover|contain|<너비 높이>;
속성값 | 설명 |
auto | 이미지 크기 유지 |
cover | 이미지 비율을 유지하면서 영역을 꽉 채운다 |
contain | 이미지 비율을 유지하면서 이미지가 요소 안에 완전히 들어가도록 한다 |
<너비 높이> | 이미지의 크기를 직접 지정한다 |
background-position 속성
삽입하려는 이미지의 위치를 정할 수 있다. 단위를 활용해 직접 지정하거나 상하좌우 중앙 밀착이 가능하다.
값을 1개만 사용하면 이 값은 x축 값이 되고 y축은 기본 center가 된다.
값을 2개 사용하면 각각 x, y축으로 지정된다.
background-attachment 속성
요소에 삽입된 이미지를 스크롤할 때 작동방식을 결정한다.
속성값 | 설명 |
local | 삽입된 이미지가 요소와 웹 브라우저에서 모두 스크롤된다 |
scroll | 삽입된 이미지가 요소에서는 고정되지만, 웹에서는 스크롤된다 |
fixed | 삽입된 이미지가 요소와 웹 브라우저에서 모두 고정된다 |
background 속성으로 한 번에 지정하기
이 모든 속성은 한 번에 지정될 수 있다. size만 position뒤에 슬래시와 함께 지정해야 하는 것 제외하고 순서는 무관하다.
background:<color> <image> <repeat> <position/size> <attachment>
마무리
이번 글을 통해 CSS의 기본적인 특징과 다양한 스타일 속성을 공부하면서 웹 페이지 디자인의 기초를 다질 수 있었다. 특히 텍스트 속성과 박스 모델은 요소의 크기와 배치를 효과적으로 제어할 수 있는 중요한 개념임을 다시 한번 느꼈다. 또한, 배경 속성을 통해 웹 요소에 생동감을 더할 수 있는 방법을 배우며, 작은 스타일 변화가 전체 디자인에 큰 영향을 미칠 수 있음을 깨달았다. 앞으로 더 심화된 내용을 학습해 CSS 활용 능력을 발전시켜 나갈 계획이다.
'Software Engineering > 길벗 : HTML + CSS + JavaScript' 카테고리의 다른 글
[JS] 9장: 자바 스크립트 기초 문법 살펴보기 (2) | 2024.10.21 |
---|---|
[JS] 8장: 자바 스크립트 시작하기 (0) | 2024.10.18 |
[CSS] 5장: CSS 선택자 다루기 (0) | 2024.10.15 |
[도서 리뷰] 길벗 코딩 자율학습 : HTML + CSS + 자바스크립트 (1) | 2024.10.13 |
[CSS] 4장: 웹 스타일링을 위한 CSS 기초 배우기 (0) | 2024.10.11 |