2012-03-08 12 views
5

Chciałbym wiedzieć, który z poniższych przykładów będzie działał lepiej. Jeśli wydajność jest taka sama, która jest lepsza?Co jest szybsze: powtarzanie stylów lub powtarzanie selektorów?

Przykład 1 (powtarzając selektory)

.helpfulCommenter, .questionTroll { color: #f00; }

.questionTroll { text-decoration: line-through; }

lub

Przykład 2 (powtarzając style)

.helpfulCommenter { color: #f00; }

.questionTroll { color: #f00; text-decoration: line-through; }

znam Nazwy klas nie semantyczny, a poszczególne style przedstawione tutaj są nieistotne. Chcę tylko wiedzieć, które z tych przeglądarek mają łatwiejsze przetwarzanie i implementację.

+0

Wydajność tego prawdopodobieństwa jest różna w różnych przeglądarkach i jest bardzo zależna od liczby elementów i selektorów, które posiadasz. Ostatecznie jednak różnica w wydajności nie ma znaczenia - wybierz tę, która ma sens bardziej semantyczny. –

+0

Nazwy klas naruszają dobre praktyki (trudno jest zakodować wartości ("czerwony", "pogrubiony") w nazwach klas). Powinieneś wymyślić lepsze (właściwe) imiona ... –

+2

@ ŠimeVidas: Jestem pewien, że to były tylko przykłady, które wymyślił. – xbonez

Odpowiedz

2

Różnica w wydajności jest tak mała, że ​​nie ma to znaczenia.

Powstrzymaj się od przykładu 2, ponieważ najprawdopodobniej stanie się biczem alimentacyjnym, jeśli zostanie nadużyty.

+0

To właśnie myślałem, że różnice między tymi dwoma były bardziej związane z utrzymaniem kodu niż wydajność . Czy to samo dotyczy sytuacji, gdy mam wiele klas (> 50 lub nawet setki), które muszą udostępniać style? – Jason

+0

@Jason: Dość dużo. – BoltClock

+0

@Jason jak byłoby inaczej niż o tej samej definicji na różnych selektorach. Jeśli projektujesz swój "CSS", powinieneś mieć kaskadowe style, które minimalizują powtarzanie i skrócone StyleSheet. – xandercoded