CSS의 등장
등장 배경
- 정보와 디자인의 분리
- HTML : 웹 언어의 시초
- 본질은 정보 (어떻게 정보를 잘 표현할 것인가?)
- CSS : 웹페이지 꾸며주는 기술
- 배경
- css 등장 전에는 HTML이 태그를 추가하여 디자인도 담당
- font 태그 등을 사용했으나 이는 디자인적인 요소일 뿐 의미가 없음 (ex. a는 링크, h1은 제목을 의미)
- HTML에 디자인에 대한 태그를 추가해서 해결하는 것은 정보 제공적인 측면에서 좋지 않음
- 장점
- HTML이 정보에 전념 가능
- 효율적인 문법 체계 가능
- 유지보수 유용
적용 방법
1. 인라인 스타일 (style 속성)
<h1 style="color: red"></h1>
2. 내부 스타일 시트 (style 태그)
<head>
<style>
h1 {
color: red
}
</style>
</head>
3. 외부 스타일 시트 (css 파일)
- .css 파일 생성 후 head 태그에 아래 코드 추가
<link rel="stylesheet" href="style.css">
- 모든 파일에 style 태그로 css를 지정하면 재사용성 감소 → css 파일로 따로 관리해서 해결!
- 재사용성 증가 + 중복의 제거 + 효율적 + 사용성 증가 + 코드 길이 감소
- 웹 브라우저가 html을 해석하고 로딩할 때 해당 css 파일을 다운로드 후 웹 페이지에 적용
- 웹 브라우저는 캐시 덕분에 css 파일을 한번 저장해두고 다음에 또 사용
- 네트워크 트래픽 감소 → 로딩 속도 감소
- 사업자의 돈 절약
기본 문법

- 가장 중요한 것은 선택자와 속성!
- 선택자 Selector : 누구에게 적용? (ex. h1)
- 효과 Declaration : 어떤 효과 적용? (ex. color: red)
- 속성 Property : (ex. color)
- 값 Value : (ex. red)
- 구분자
- 속성-속성값 구분자 :
- 선언-선언 구분자 ; (세미콜론)
Property
- Property
- color
- text-decoration
- none : 밑줄 등 모두 삭제
- underline : 밑줄 추가
- text-size
- text-align
- 모두 외우려고 하지말 것! 스스로 알아내면 된다!
- 검색어 예시
- css text size property
- css text center property
Selector
- Selector
- class
- 선택자 앞에 .
- 여러 개 사용 가능 (ex. class = "a b")
- 여러 개 사용 시, style 태그 내에서 더 아래쪽에 작성된 선택자가 적용
- id
- 선택자 앞에 #
- 중복 불가능 (같은 프로젝트 내에서 동일한 id는 존재 불가)
- 우선 순위 id > class > element(tag)
박스모델
- border 테두리
- border-width 두께
- border-color 색상
- border-style 타입 (ex. 점선, 실선)
- "boader : 두께 색상 타입" 으로 한번에 선언 가능

- block level element
- 화면 전체를 모두 사용하는 태그
- ex. h1 태그
- inline element
- display
- block/inline : block/inline 설정
- none : 화면에서 안 보이게 설정
- height/width
- 너비/폭 지정
- inline element는 적용되지 않음!
- padding
- margin
그리드
- grid
- grid 하고자 하는 태그를 모두 감싸는 부모 태그에 선언
- display : grid
- grid-template-columns
- 각 컬럼의 크기 지정
- 1fr (단위)
- 남은 자리 전부
- 모두 1fr이라면 모두 동일한 크기
- 2fr 1fr이라면 전체 크기의 2:1
미디어 쿼리
@media(조건){
Selector{
Declaration
}
}
@media(max-width:800px){
div{
display:none;
}
}
기타
- 중복 제거를 위해 선택자 묶기
- id 하위에 있는 태그에 대한 css 지정
- 개발에 있어 중요한 것
- 개발자 도구를 잘 이용할 수 있을 것!
- padding/margin 확인 가능
- 화면 크기 확인 가능
/* */
결과
전체 코드는 GitHub에 업로드하였다. 웹 사이트는 여기에서 확인할 수 있다.
후기
나중에 확인할때 편하도록 순서에 맞춰 필기를 정리하지 않고, 유사한 개념끼리 모아서 정리했다. 또, 오리엔테이션, 수업을 마치며 등 필요없는 비교적 메모할 내용이 없는 섹션은 생략했다. Inflearn의 "CSS 기본부터 활용까지" 강의와 겹치는 부분을 이 게시글에 추가했다.