Jestem świadomy, że reguły ID są szybsze niż reguły klasowe, które są szybsze niż reguły znaczników, które są szybsze niż reguły uniwersalne, jak wspomniano w artykule MDN. Moje pytanie dotyczy wydajności CSS w odniesieniu do dziedziczenia. Na przykład, który z poniższych jest bardziej wydajny?Wydajność CSS w odniesieniu do dziedziczenia
body {
font-family: Helvetica, Arial, sans-serif;
font-size: 16px;
}
h1 {
font-family: Georgia, serif;
font-size: 36px;
font-weight: 700;
}
lub
h1 {
font-family: Georgia, serif;
font-size: 36px;
font-weight: 700;
}
.article-text {
font-family: Helvetica, Arial, sans-serif;
font-size: 16px;
}
Chociaż istnieje tylko jedna <body>
tag w DOM, nie może być setki p.article-text
elementów. Ponieważ istnieje tylko jeden znacznik <body>
, czy oznacza to, że styl <body>
jest bardziej wydajny, mimo że chciałbym zmienić elementy <h1>
? A może bardziej skuteczne jest stylizowanie elementów .article-text
, ponieważ używałoby to bardziej specyficznego selektora i nie musiałbym się martwić o zmianę elementów <h1>
?
Zawsze się nad tym zastanawiałem. Myśli?
Czy benchmark i dowiedzieć się? – cimmanon
Przypuszczam, że "kaskadowanie" CSS (dziedziczenie stylów z elementów nadrzędnych) jest bardzo wydajne. To wcale nie wymaga selektora. Rozumiem, że 'body' powinno być stylizowane tak, jak chcesz, aby główny korpus zwykłego tekstu w stylu dokumentu był taki, jaki jest jego pojemnik. –
W wielkim schemacie wydajności strony [nie warto się tym martwić] (http://calendar.perfplanet.com/2011/css-selector-performance-has-changed-for-the-better/) (lub przynajmniej nie warto się tym przejmować, dopóki nie zajmiesz się wieloma innymi czynnikami: konkatenacją, minifikacją itp.) – steveax