2013-01-17 2 views
0

멍청한 놈의 비트는 실제적인 조언이 필요합니다.CSS 구문 또는 사용자 정의 클래스 사용

저는 CSS 선택기 사용과 관련하여 mozilla가 작성한 기사를 읽었습니다.

기본적으로

, 그들은 예를 들어, 복잡한 선택 트리를 사용하지 않는 말을하는지 : 그들은 두 번째 옵션은 브라우저의 성능을 위해 더 나은 될 것입니다 때문에 분명히

.class-a .class-b > .class-c is better expressed as custom-class-abc 

하지만,이 경우 가장 좋은 솔루션입니다, 그리고 나서 그것은 많은 CSS 기초가 중복되도록 렌더링합니다.

나는 A가 들어있는 LI가 포함 된 UL이 있습니다. 나의 첫번째 A는 다르게 취급 될 필요가, 그래서 나는 다음과 같은 구문을 사용합니다 내가 Mozillas 최선의 방법을 따르도록했다 경우

#footer li:first-child a {} 

, 이것은 다음과 같습니다 그것으로 배울만큼이

#footer a.first or #footer .first (after adding a class to the first A element) 

그렇다면이 모든 것이 현실 세계에서 어떻게 작동하는지에 대한 조언을 주시면 감사하겠습니다.

+1

기사에 대한 링크를 추가 할 수 있습니까? – Anil

+1

엄청나게 거대한 셀렉터가 있어도 성능은 거의 문제가되지 않으므로 CSS가 매우 빠릅니다. 복잡한 선택기를 사용하지 않는 이유는 코드를 유지하기가 더 어렵 기 때문입니다. – zzzzBov

+0

"그러면 CSS의 많은 기본 기능이 렌더링됩니다."이 기사를 진지하게 받아들이지 않는 이유가 여기에 있습니다. – BoltClock

답변

1

나는 문서가 덤퍼 브라우저를 만족시키기에 구식이 아닐 수 있다고 생각하지만, 최신 브라우저는 최신 어린이를 이해합니다. 귀하의 예

저는 어떻게 변합니까? ie8은 이해하지 못한다.

2

선택기가 정상입니다. 당신이 언급 문서를 읽을 수 없습니다면서 나는 그들이

html body div.wrapper div.navigation ul.nav li:first-child a.item { } 

같은 것을 피하기 위해 의미 그냥

.nav li:first-child a.item 

article 더 적은 선택기 성능에 대한 더 나은 이유에 조금을 제공 할 것 같아요 것입니다. 물론 모든 것이 극단적이며 모질라는 가능한 한 빨리 작업을 수행하는 방법을 권장해야하지만 선택기는 이미 매우 빠르므로 대부분의 경우 아무런 차이가 없습니다.

CSS에서 특이성을 읽는 관련 메모에서 실제로 선택할 필요가있는 양을 결정하는 데 도움이 될 수 있습니다. http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/

+0

에 있습니다. MDN 기사는 원래 XUL 스타일링 용으로 작성되었으며, Firefox의 UI는 대부분 CSS에 의해 제어됩니다.웹 페이지는 XUL 테마보다 훨씬 더 부풀고 예측할 수 없으므로, 모든 것을 문자 (추측 된 극단적 인 경우)에 따라야 할 필요는 없습니다. 개인적으로 최선의 충고는 균형을 맞추고 절대적으로 무시할 수없는 병목 현상을 최적화하는 것입니다. – BoltClock

관련 문제