[최적화 기법] - HTML, CSS 코드 최적화 하기

Donggu(oo)·2023년 2월 1일
0

최적화(Optimization)

목록 보기
1/6

1. HTML 최적화 방법


1) DOM 트리 가볍게 만들기

  • DOM 트리가 깊을수록, 자식 요소가 많을수록 DOM 트리의 복잡도는 커진다. 복잡도가 클 수록 DOM 트리가 변경되었을 때 계산해야 하는 것도 많아지므로 HTML 요소들의 관계를 살펴보고, 불필요하게 깊이를 증가시키는 요소가 있다면 삭제해야 한다.
<!-- 수정 전 -->
<div>
	<ol>
		<li> 첫 번째 </li>
		<li> 두 번째 </li>
		<li> 세 번째 </li>
	</ol>
</div>

<!-- 수정 후 : 불필요한 div 요소 제거 -->
<ol>
	<li> 첫 번째 </li>
	<li> 두 번째 </li>
	<li> 세 번째 </li>
</ol>

2) 인라인 스타일 사용하지 않기

  • 인라인 스타일은 개별 요소에 스타일 속성을 작성해주는 것이기 때문에, 클래스로 묶어서 한 번에 작성해도 될 스타일 속성을 중복으로 작성하게 되는 경우가 발생한다. 이처럼 불필요한 코드 중복은 가독성을 떨어뜨릴 뿐 아니라 파일 크기를 증가시킨다.

  • 또한 CSS 파일을 따로 작성하면 단 한 번의 리플로우만 발생하는 것과 달리, 인라인 스타일은 리플로우를 계속해서 발생시켜 렌더링 완료 시점을 늦춘다. 애초에 인라인 스타일은 웹 표준에 맞지 않으므로 지양해야 한다.

<!-- 수정 전 -->
<div style="margin: 10px;"> 마진 10px </div>
<div style="margin: 10px;"> 이것도 마진 10px </div>

<!-- 수정 후 : class와 CSS로 대체 -->
<div class="margin10"> 마진 10px </div>
<div class="margin10"> 이것도 마진 10px </div>

.margin10 {
	margin: 10px;
}

2. CSS 최적화 방법


1) 사용하지 않는 CSS 제거하기

  • CSS 파일의 모든 코드의 분석이 끝난 후에 CSSOM 트리가 생성된다. 그만큼 불필요한 CSS 코드가 있다면 CSSOM 트리의 완성이 늦어진다. 따라서 사용하지 않는 CSS 코드가 있다면 제거하는 것이 좋다.

  • 보통 해당 CSS 코드를 사용하던 요소를 삭제하면서 CSS 코드만 남게 되는 경우가 많다. 요소를 삭제할 일이 생기면, CSS 코드만 남지는 않는지 확인하고 함께 삭제하면 이런 상황을 방지할 수 있다.

2) 간결한 셀렉터 사용하기

  • 셀렉터가 복잡할수록 스타일 계산과 레이아웃에 시간을 더 많이 소모하게 된다. 따라서 최대한 간결한 CSS 셀렉터를 사용하는 것이 좋다.
/* 복잡한 CSS 셀렉터 예시 */
.cart_page .cart_item #firstItem { ... }

/* 필요한 경우에는 어쩔 수 없지만, 가능한 한 간결하게 작성한다. */
.cart_item { ... }

0개의 댓글