매우 일반적인 상황이 있습니다.CSS 선택기 전략 : (상위 클래스를 사용하는 접두어 : .widget .widget-item {}) 또는 (직접 : .widget-item {})
옵션 1 :
이<div class="widget">
<div class="widget-item"></div>
</div>
우리는 .widget-item
2 옵션을 스타일 수 : 이제 우리는 약간의 마크 업 있다고 가정 해 봅시다 직접 액세스 : 접두사는 부모 클래스
.widget .widget-item { /* styles */ }
옵션 2를 사용하여 클래스
.widget-item { /* styles */ }
접두사에 중요한 성능 이점/히트가 있습니까?
다른 컨테이너에서 클래스를 다시 사용할 필요가 없다면, 예를 들어 .other .widget-item
과 같이 접두사에 어떤 실질적인 이점이 있습니까? (대개의 경우 부모 이외의 클래스를 재사용 할 필요가 없으므로 기능적으로 차이가 없습니까?)
어쩌면 내가하지 말아야 할 때 이러한 깊은 셀렉터를 사용하고 있습니까? 중첩되지, http://coryschires.com/why-you-should-deeply-nest-your-css-selectors/
이 사람은 당신이 간단한을 유지해야한다고 말했습니다 :
이 사람은 당신이 깊게 둥지해야 말한다 https://github.com/csswizardry/CSS-Guidelines#selectors
이 중복 인 경우, 용서를 찾을 수가 없습니다.
CSS는 오른쪽에서 왼쪽으로 이동합니다. 나는 두 번째 해결책이 더 빠르다고 생각한다. (부모를 확인할 필요가 없기 때문이다.) –
실제로 차이점은 조금도 빠르지 않다. – iConnor
참고 :이 질문은 단지 성능에 관한 것이 아니다 ... Don 내 질문을 닫지 마라! 내가 얻은 두 가지 답변은 훌륭합니다. 아직 링크 된 기사를 읽고 있습니다. –