CSS 기초 & 기본기 다지기
CSS란?
CSS는 Style sheet 언어입니다. HTML 문서에 있는 요소들에 원하는 스타일을 적용하기 위한 언어로 각 요소에 색, 크기, 배경, 여백 같은 스타일을 선택적으로 적용할 수 있습니다.
CSS ruleset
CSS는 기본적으로 rule set(규칙 집합) 구조로 작성합니다.
.menu{
color: black;
background-color:white;
border : 1px solid #ccc;
}
/* 여러 요소 선택 가능 */
p, li, span{
color : red;
}
구성요소
- 선택자 (Selector) : 스타일을 적용할 HTML 요소 →
.menu - 선언 (Declaration) :
color: black같은 단일 규칙 - 속성 (Property) : 어떤 스타일을 적용할지 지정 →
colorborder - 속성 값 (Value) : 속성에 적용될 값 →
black1px solid #ccc
선택자 종류
| 선택자 이름 | 선택 | 예시 |
|---|---|---|
| 요소 선택자 | 특정 태그 전체 | p : <p> 를 선택 |
| 아이디 선택자 | 특정 id를 가진 요소 . | #myId : <div id="myId"> |
| 클래스 선택자 | 특정 class를 가진 요소 | .myClass : <div class="myClass"> |
| 속성 선택자 | 특정 속성을 갖는 요소. | img[src] : <img src="myimage.png"> |
| 수도 클래스 선택자 | 특정 상태일 때 | a:hover : <a>에 마우스 올렸을 때 |
박스 모델
HTML 요소들은 박스와 비슷하다고 볼 수 있는데요 주요 스타일은 다음과 같습니다.
paddingcontent 주위 내부 여백borderpadding 바깥쪽의 테두리margin요소의 외부 여백widthcontent의 너비background-color요소의 배경색colorcontent 색 (글자색)
*(content : 요소의 실제 내용이 들어가는 공간)
CSS 적용 우선 순위(Cascading)
CSS의 C가 Cascading(계단식)인 가진 것처럼 CSS는 여러 스타일 규칙이 겹쳐 적용될때, 규칙에 따라 우선순위를 결정합니다.
- 명시도 (Specificity) :
#id>.class>tag순서로 적용 - 코드 작성 순서 : 명시도가 같다면, 뒤에 작성된 규칙이 적용
- !important : 최우선으로 적용
단위 (units)
CSS에서는 크기와 간격을 표현하기 위해 다양한 단위를 사용합니다.
px: 절대 단위%: 부모 요소를 기준으로 한 상대 단위em: 현재 요소의 글꼴 크기를 기준으로 한 상대 단위rem: 최상위 요소의 글꼴 크기를 기준으로 한 상대 단위vh/vw: 뷰포트의 높이와 너비를 기준으로 하는 단위
<html style="font-size: 15px">
<div style="font-size: 10px;">
<p style="font-size: 5px;">이 텍스트 크기는 5px</p>
<p style="font-size: 2em;">이 텍스트 크기는 20px (10px * 2)</p>
<p style="font-size: 2rem;">이 텍스트 크기는 30px (15px * 2)</p>
</div>
</html>
색상 표현 방식
CSS에서는 색상을 표현하기 위해 다양한 방식을 사용합니다.
- 이름 :
whitebluered - HEX :
#cccccc(회색) - RGB :
rgb(225,0,0)(빨강) - RGBA :
rgb(225,0,0, 0.1)(빨강에 투명도 10%)