CSS에서 우선순위는 매우 중요한 요소이기 때문에, HTML을 작성할 때 이를 고려하면 스타일을 쉽게 제어할 수 있습니다. 우선순위를 이해하고, 효율적으로 CSS를 작성하는 몇 가지 팁을 알려드릴게요.
CSS 우선순위는 크게 다음과 같은 순서로 결정됩니다:
1. 인라인 스타일 (<div style="color: red;">)
2. id 선택자 (#example {})
3. class, 속성 선택자, 가상 클래스 (.example {}, [type="text"] {}, :hover {})
4. 태그(요소) 선택자 (div {}, p {})
5. 전체 선택자 (* {})
중첩된 선택자가 많아질수록 우선순위가 높아집니다. 예를 들어, div p span은 span보다 우선순위가 높습니다.
id 선택자는 우선순위가 높아서 나중에 스타일을 덮어쓰기가 어렵습니다. 따라서 가능한 class 선택자를 사용하여 우선순위 충돌을 줄이고, 더 쉽게 스타일을 변경할 수 있도록 하세요.#header .nav ul li a 같은 복잡한 선택자는 나중에 관리하기 어려워질 수 있습니다. 필요할 때만 중첩을 사용하고, 가능한 간단한 선택자로 스타일을 지정하는 것이 좋습니다.btn-primary와 같은 이름은 버튼 스타일을 쉽게 구분할 수 있게 도와줍니다. 특정 요소의 스타일을 설명하는 것이 아닌, 역할을 설명하는 이름을 짓는 것이 좋습니다..btn-danger, .card-header (의미에 따라 역할 분담)padding이나 margin에 px와 %를 섞어 쓰는 것보다는 한 가지 단위를 사용하는 것이 예측 가능한 결과를 얻는 데 도움이 됩니다.margin이나 padding 같은 공통적인 스타일을 여러 곳에서 반복하지 않고 .container나 .wrapper 같은 클래스로 지정해 재사용하세요.div 대신 header, nav, footer, article 같은 시맨틱 태그를 사용하면 검색 엔진 최적화(SEO)에도 좋고, 구조를 이해하기도 쉽습니다.<div class="card card--highlight">
<h2 class="card__title">Title</h2>
<p class="card__description">Description</p>
</div>여기서 card는 블록, card__title은 엘리먼트, card--highlight는 모디파이어입니다.!important 사용 최소화!important는 CSS 우선순위를 강제로 끌어올리기 때문에 자주 사용하면 유지보수가 어려워집니다. 필요할 때만 신중하게 사용하고, 가능하다면 우선순위를 잘 관리하는 방향으로 코드를 작성하는 것이 좋습니다.동일한 요소에 여러 스타일이 적용될 수 있다면, 명확하게 우선순위를 관리하세요. 예를 들어, 더 구체적인 클래스나 속성 선택자를 사용해 우선순위를 조정할 수 있습니다.
/* 일반적인 스타일 */
.btn { color: blue; }
/* 구체적으로 특정 버튼만 적용하는 스타일 */
#header .btn { color: red; }
class 선택자를 주로 사용하여 유연하게 스타일을 관리하세요.이러한 팁을 염두에 두면, 더 깔끔하고 관리하기 쉬운 코드를 작성할 수 있습니다!