프론트엔드 개발 · 기초
CSS 선택자(Selector) 중 클래스(Class) 선택자와 ID 선택자의 차이점을 설명하고, 언제 어떤 선택자를 사용하는 것이 적절한지 예시를 들어주세요.
힌트 · 클래스는 여러 요소에 적용 가능하고, ID는 문서 내에서 고유해야 합니다. 재사용성과 특정성(specificity)에 따라 선택하여 사용합니다.
클래스ID재사용성유일성우선순위
모범답안
클래스 선택자와 ID 선택자는 CSS 스타일을 적용하는 방식에 차이가 있습니다. 클래스 선택자는 여러 요소에 동일한 스타일을 적용할 때 사용하며, . 기호로 시작합니다. 반면 ID 선택자는 특정 요소 하나에만 스타일을 적용할 때 사용하고, # 기호로 시작합니다.
클래스는 재사용성이 높아서, 여러 곳에서 반복적으로 사용되는 스타일을 정의할 때 유용합니다. 예를 들어, 모든 버튼에 동일한 배경색과 폰트 스타일을 적용하고 싶다면 클래스를 사용하는 것이 좋습니다.
ID는 문서 내에서 유일해야 하므로, 특정 요소에만 적용되는 스타일을 정의할 때 사용합니다. 예를 들어, 웹 페이지의 메인 제목이나 특정 섹션에 고유한 스타일을 적용할 때 ID를 사용하면 좋습니다.
다만, ID 선택자는 클래스 선택자보다 우선순위가 높기 때문에, 스타일 충돌을 방지하기 위해 ID 사용을 최소화하고 클래스를 사용하는 것이 유지보수에 더 유리합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 HTML / CSS 면접 질문
- HTML 요소 중 블록(Block) 요소와 인라인(Inline) 요소의 차이점을 설명하고, 각각의 예시를 들어주세요.
- CSS 박스 모델(Box Model)의 구성 요소 4가지(content, padding, border, margin)를 설명해주세요.
- CSS를 HTML 문서에 적용하는 세 가지 방법(인라인, 내부, 외부 스타일 시트)을 설명하고 각각의 장단점을 비교해주세요.
- CSS에서 'display' 속성의 주요 값들(block, inline, inline-block, none)에 대해 설명하고, 각각의 특징을 비교해주세요.
- CSS에서 선택자의 명시도(Specificity)는 어떻게 계산되며, 이를 효과적으로 관리하여 스타일 충돌을 피하고 원하는 스타일을 적용하는 방법은 무엇인가요? `!important`의 사용은 언제 권장되며, 어떤 부작용이 있을 수 있나요?
- CSS 박스 모델(Box Model)에서 `content-box`와 `border-box`의 차이점을 설명하고, 실제 웹 개발에서 `box-sizing` 속성을 어떻게 활용하여 레이아웃 문제를 해결할 수 있는지 구체적인 예를 들어 설명해주세요.