이 글에서는 CSS(Cascading Style Sheet)에서 작성 규칙과 기본 셀렉터에 대해 정리합니다.


CSS: 작성 규칙과 셀렉터

스타일이 인라인, 내부, 외부 어디에 작성되어 있든지 모두 같은 방식으로 작성해야 합니다.

인라인, 내부, 외부 스타일 방식에 대해 알아보러 가기

CSS: 스타일 규칙

CSS
선택자(selector) {
    속성(property): 값(value);
    속성(property): 값(value);
}
  • 선택자(Selector): 스타일을 적용할 요소 지정
  • 선언 블록(Declaration Block): 중괄호({}) 안에 들어가는 부분
  • 속성(Property): color, font-size 와 같은 속성, "무엇을 바꿀지"에 해당 한다.
  • 값(Value): red, 16px 와 같은 값, "어떻게 바꿀지"에 해당 한다.

스타일 규칙: 한 규칙에 여러 개의 선언하기

CSS
button {
  padding: 8px 12px;
  border-radius: 4px;
  background-color: #333;
  color: #fff;
}

같은 선택자(button)에 대해 여러 속성을 바꾸고 싶으면, 선언 블록 안의 선언을 여러 개 나열하면 되는데 이 때 세미콜론(;) 을 추가하는 것이 좋습니다.


스타일 규칙: 여러 선택자에 같은 스타일 적용하기

CSS
h1,
h2,
h3 {
  font-family: system-ui, sans-serif;
  font-weight: 600;
}

여러 요소에 같은 스타일을 적용하고 싶으면, 선택자를 쉼표로 나열해서 한 번에 쓸 수 있습니다.

CSS: 기본 셀렉터

이제 "어떤 요소에 적용할지"를 고르는 셀렉터(Selector)를 정리해보겠습니다.

  • 태그 선택자(Tag Selector): HTML 태그 이름으로 요소를 선택할 때 사용합니다.
    CSS
    p {
      line-height: 1.6;
    }
    
  • ID 선택자(ID Selector): 특정 하나의 요소를 선택할 때 사용합니다.
    CSS
    #header {
      background-color: #f5f5f5;
    }
    
  • 클래스 선택자(Class Selector): 여러 요소에 공통 스타일을 재사용할 때 사용합니다.
    CSS
    .primary {
      color: white;
      background-color: #007bff;
    }
    
  • 속성 선택자(Attribute Selector): 요소의 속성(attribute) 값에 따라 대상을 선택할 때 사용합니다.
    CSS
    input[type="text"] {
      border: 1px solid #ccc;
    }
    
  • 전체 선택자(Universal Selector): * 하나로 문서 안의 모든 요소를 선택할 때 사용합니다.
    CSS
    * {
      box-sizing: border-box;
    }
    

주의할 점

1. !important는 디버깅을 어렵게 만든다

!important로 스타일을 덮으면 이후 수정이 매우 어려워진다. 셀렉터 특이도(specificity)를 이해하고 올바른 셀렉터로 해결하는 것이 맞다.

2. 인라인 스타일은 specificity가 가장 높다

style="" 속성으로 지정한 스타일은 ID 셀렉터보다도 우선한다. CSS 파일에서 아무리 구체적인 셀렉터를 써도 인라인 스타일을 이기지 못한다.

댓글 로딩 중...