브라우저가 css 셀렉터를 해석하는 방법과 성능 향상 방법

2024. 6. 28. 10:23Study/Publishing

브라우저가 css 셀렉터를 해석하는 방법

브라우저가 css 선택자를 해석하는 방식은 일반적으로 css를 작성하는 방식과는 반대다. 브라우저는 오른쪽에서 왼쪽으로 css 선택자를 해석 한다.

div p a { }

 

예를 들어, div p a 라는 선택자가 있다면, 브라우저는 먼저 모든 a 태그를 찾고, 그 중에서 부모 요소가 p 인 것을 찾고, 마지막으로 이 중에서 또 다시 부모 요소가 div인 것을 찾는다.

 

이러한 방식은 브라우저가 불필요한 요소를 검사하는 시간을 줄이는 데 도움이 된다. 왜냐하면 가장 일반적인 요소 (여기서는 a 태그)부터 검사를 시작하므로, 좀 더 빠르게 원하는 요소를 찾을 수 있기 때문이다.

 

 

css 선택자의 성능 향상 방법

선택자의 복잡성 줄이기

가능한 한 간단한 선택자를 사용하는 것이 좋다. 복잡한 선택자는 브라우저가 더 많은 요소를 검사해야 하므로 성능에 영향을 줄 수 있다.

/* 복잡한 선택자 */
body div.header ul.nav li a.active {
  color: red;
}

/* 간단한 선택자 */
.active {
  color: red;
}

 

ID 선택자 활용하기

ID는 고유한 값을 식별할 수 있고 ID 선택자를 활용하면 빠르게 해당 요소를 찾을 수 있다.

#main-content {
 padding: 20px;
}

 

클래스 선택자 사용하기

태그 보다는 클래스 선택자를 조합하여 특정 요소를 좀 더 정확하게 선택하는 방법을 통해 해당 요소를 찾을 수 있다.

.main > .content > .text {
  padding: 20px;
}

 

하위 요소 대신 자식 요소 선택자 사용하기

하위 요소 선택자는 지정된 요소와 그 하위의 모든 요소를 검사하지만, 자식 요소 선택자 > 는 바로 아래 한 단계의 요소만 검사한다.

가능한 한 자식 요소 선택자를 사용하는 것이 성능을 향상시킬 수 있다.

/* 하위 요소 선택자 */
div span {
  color: blue;
}

/* 자식 요소 선택자 */
div > span {
  color: blue;
}

 

태그 선택자 피하기

태그 선택자는 해당 태그의 모든 요소를 검사하므로, 성능에 영향을 줄 수 있다. 따라서, 필요한 경우가 아니라면 태그 선택자는 피하는 것이 좋다.

/* 태그 선택자 사용 */
p {
  margin-bottom: 20px;
}

/* 클래스 선택자로 변경 */
.paragraph {
  margin-bottom: 20px;
}

 

 

 


 

https://velog.io/@dhgg321/%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EA%B0%80-css-%EC%85%80%EB%A0%89%ED%84%B0%EB%A5%BC-%ED%95%B4%EC%84%9D%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95%EA%B3%BC-%EC%84%B1%EB%8A%A5-%ED%96%A5%EC%83%81-%EB%B0%A9%EB%B2%95

 

브라우저가 css 셀렉터를 해석하는 방법과 성능 향상 방법

🤔브라우저가 css 셀렉터를 해석하는 방법 브라우저가 CSS 선택자를 해석하는 방식은 일반적으로 CSS를 작성하는 방식과는 반대다. 브라우저는 오른쪽에서 왼쪽으로 CSS 선택자를 한다. 예를 들어

velog.io

 

 

 

'Study > Publishing' 카테고리의 다른 글

디자인 시스템 만들기: breakpoint  (0) 2024.07.12
프론트엔드 성능 최적화  (0) 2024.06.28
SCSS  (0) 2024.05.16
CSS | backdrop-filter  (0) 2024.04.25
Media Queries Breakpoints For Responsive Design In 2023  (0) 2023.11.01