[HTML/CSS] CSS 정리

2025. 11. 26. 16:47·React/HTML & CSS

1. CSS 선택자

HTML 요소 중 어떤 부분에 스타일을 적용할지 "찍어주는 역할"

 

기본 선택자 종류

  • 태그 선택자: 태그 이름으로 선택
  • 클래스 선택자: 여러 요소에 재사용 가능 (`.` 사용)
  • 아이디 선택자: 한 페이지에 1번만 사용 (`#` 사용)

예제

<p class="text" id="title">안녕</p>
p { color: blue; } /* 태그 선택자 */ 
.text { font-size: 20px; } /* 클래스 선택자 */ 
#title { font-weight: bold; } /* 아이디 선택자 */

2. 텍스트 / 폰트 스타일

글자의 크기, 색상, 굵기, 정렬 등을 설정하는 속성

  • `color`: 글자 색
  • `font-size`: 글자 크기
  • `font-weight`: 글자 두께
  • `text-align`: 정렬

예제

p {
  color: black;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

3. 링크 스타일

`a`태그에 적용됨.

링크는 상태별로 스타일 지정 가능함

  • `a:hover`: 마우스 올렸을 때
  • `a:active`: 클릭하는 순간 

예제

a {
  color: blue;
  text-decoration: none;
}

a:hover {
  color: red;
}

4. 리스트 스타일

`ul`, `ol`, `li 태그의 점, 숫자, 들여쓰기 등을 조절함

 

예제

ul {
  list-style-type: none;
  padding-left: 0;
}

5. 가상 선택자

요소의 “상태”를 기준으로 스타일 적용함.

자주 쓰는 것:

  • `:hover`
  • `:focus`
  • `:active`

예제

button:hover {
  background-color: gray;
}

input:focus {
  border: 2px solid blue;
}

 


6. 배경 스타일

요소의 배경색 또는 배경이미지를 설정함.

 

예제

div {
  background-color: lightblue;
  background-image: url("bg.png");
  background-size: cover;
}

 

7. 여백(Margin) & 테두리(Border)

요소의 “밖 여백”과 “테두리”를 설정.

  • `margin`: 바깥쪽 여백
  • `padding`: 안쪽 여백
  • `border`: 테두리

예제

.box {
  margin: 20px;
  padding: 10px;
  border: 2px solid black;
}

8. 박스 모델 (Box Model)

요소는 아래 구조로 이루어짐

content → padding → border → margin

 

예제

.box {
  width: 200px;
  height: 100px;
  box-sizing: border-box;
}

9. Display & Position

요소의 배치 방식을 결정함

 

주요 속성

  • `display: block / inline / inline-block / none`
  • `position: static / relative / absolute / fixed`
div {
  display: inline-block;
  position: relative;
  top: 10px;
  left: 10px;
}

10. Flexbox

가로/세로 정렬을 쉽게 만들어주는 레이아웃 방식.

 

자주 쓰는 속성

  • display: flex
  • justify-content
  • align-items

예제

.container {
  display: flex;
  justify-content: center;
  align-items: center;
}

 


11. Grid

격자(표) 구조로 레이아웃을 구성하는 방식.

 

예제

.container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
}

12. 반응형 디자인 (Responsive Design)

화면 크기(모바일, 태블릿, PC)에 따라 레이아웃이 자동으로 바뀌도록 만드는 기법임.

 

핵심 개념

  • 고정 px 대신 %, vw, vh 단위 사용
  • max-width로 화면 넘침 방지
  • Flexbox / Grid로 유연한 레이아웃 구성

예제

.container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

13. Media Query

화면 크기에 따라 CSS를 조건부로 적용하는 기능.

 

기본 문법

 
@media (조건) {
  적용할 스타일
}

모바일 기준 반응형 예제

body {
  background-color: white;
}

@media (max-width: 768px) {
  body {
    background-color: lightgray;
  }
}

 


카드 레이아웃 반응형 예제

.cards {
  display: flex;
  gap: 20px;
}

.card {
  width: 300px;
}

@media (max-width: 768px) {
  .cards {
    flex-direction: column;
  }

  .card {
    width: 100%;
  }
}
 

 

 

자주 쓰는 Media Query 기준

  • 모바일: `max-width: 768px`
  • 태블릿: `max-width: 1024px`
  • PC: `min-width: 1025px`

'React > HTML & CSS' 카테고리의 다른 글

[HTML/CSS] 네비바, 카드 레이아웃 만들어보기  (0) 2025.11.26
[HTML/CSS] 자기소개 페이지 꾸며보기  (0) 2025.11.26
[HTML] form태그와 input태그  (0) 2025.11.21
[HTML] div, span 태그 & 클래스와 아이디  (0) 2025.11.21
[HTML] 간단한 자기소개 페이지 만들어보기  (0) 2025.11.20
'React/HTML & CSS' 카테고리의 다른 글
  • [HTML/CSS] 네비바, 카드 레이아웃 만들어보기
  • [HTML/CSS] 자기소개 페이지 꾸며보기
  • [HTML] form태그와 input태그
  • [HTML] div, span 태그 & 클래스와 아이디
이도서
이도서
  • 이도서
    도서의 코딩노트
    이도서
  • 전체
    오늘
    어제
    • 분류 전체보기 (249)
      • Today I Learned (79)
        • 2024 (78)
      • Swift (25)
        • Swift 문법 정리 (19)
        • RxSwift (5)
      • Swift Study (12)
        • Playground (2)
        • Storyboard (9)
        • UIKit (1)
      • Flutter (27)
        • Dart 언어 (16)
        • Flutter Study (11)
      • React (37)
        • HTML & CSS (8)
        • JavaScript 기본 (12)
        • JavaScript 심화 (14)
        • Node.js (2)
        • React (1)
      • Git (3)
      • 코딩테스트 (60)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 개발 공부 공유 링크
  • 인기 글

  • 태그

    function
    Til
    코딩테스트Level.1
    객체지향
    Swift
    ios앱개발자
    CLASS
    React
    DART
    javascript
    html
    iOS앱개발
    함수
    내일배움캠프
    코딩테스트 level.1
    ios
    Flutter
    javascript 기본
    코딩테스트
    storyboard
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이도서
[HTML/CSS] CSS 정리
상단으로

티스토리툴바