2013-07-20 39 views
5

Tôi biết rằng quy tắc ID nhanh hơn quy tắc lớp, nhanh hơn quy tắc thẻ, nhanh hơn quy tắc chung, như được ghi chú trên MDN. Câu hỏi của tôi liên quan đến hiệu suất CSS liên quan đến thừa kế. Ví dụ, điều nào sau đây hiệu quả hơn?Hiệu suất CSS liên quan đến thừa kế

body { 
    font-family: Helvetica, Arial, sans-serif; 
    font-size: 16px; 
} 

h1 { 
    font-family: Georgia, serif; 
    font-size: 36px; 
    font-weight: 700; 
} 

hoặc

h1 { 
    font-family: Georgia, serif; 
    font-size: 36px; 
    font-weight: 700; 
} 

.article-text { 
    font-family: Helvetica, Arial, sans-serif; 
    font-size: 16px; 
} 

Trong khi chỉ có một <body> thẻ trong DOM, có thể có hàng trăm p.article-text yếu tố. Vì chỉ có một thẻ <body>, điều đó có nghĩa là kiểu <body> hiệu quả hơn, mặc dù tôi muốn được tạo lại các yếu tố <h1>? Hoặc là hiệu quả hơn để tạo kiểu cho các phần tử .article-text, vì làm như vậy sẽ sử dụng một bộ chọn cụ thể hơn và tôi sẽ không cần phải lo lắng về việc tạo lại các phần tử <h1>?

Luôn tự hỏi điều này. Suy nghĩ?

+0

Làm một điểm chuẩn và tìm hiểu? – cimmanon

+1

Tôi đoán rằng "tầng" của CSS (kế thừa kiểu từ các phần tử gốc) có hiệu quả cao. Điều này không yêu cầu một bộ chọn nào cả. Sự hiểu biết của tôi là "cơ thể" nên được tạo kiểu theo cách bạn muốn phần thân chính của văn bản thuần túy trong tài liệu được tạo kiểu - đó là vùng chứa của nó. –

+3

Trong lược đồ lớn về hiệu suất trang, [nó không đáng lo ngại] (http://calendar.perfplanet.com/2011/css-selector-performance-has-changed-for-the-better/) (hoặc ít nhất không đáng lo ngại cho đến khi bạn giải quyết được nhiều yếu tố khác: nối, rút ​​gọn, v.v.) – steveax

Trả lời

2

Tôi nghĩ rằng bài viết MDN mà bạn trình bày được viết theo cách có hại, vì nó đề xuất tập trung vào tối ưu hóa vi mô CSS trong khi hầu như tốc độ trang luôn có thể được tăng theo các cách khác nhau (ví dụ: Google Page Speed có các gợi ý thú vị).

Tôi không thể nhớ bất kỳ tình huống nào trong trang web của mình nơi CSS là nút cổ chai. Bạn có thể muốn xem "Dòng thời gian" trong Công cụ dành cho nhà phát triển Chrome trên một số trang và lưu ý rằng lượng thời gian dành cho làm việc với kiểu thường không đáng kể so với các sự kiện khác.

Nếu tôi đưa ra lời khuyên, tôi muốn đi theo cách khác và sử dụng các công cụ tiền xử lý CSS như SASS hoặc LESS để cải thiện khả năng bảo trì . Điều này thậm chí có thể giúp giảm số lượng quy tắc.

0

Như đã đề cập bởi steveax. Nó không đáng lo ngại. Hơn nữa, câu trả lời thực sự phụ thuộc vào trình duyệt và trên HTML thực sự được đưa ra.

0

tôi có thể nói rằng đầu trang có thể nhanh hơn trong hai nhưng tbh giống như mọi người đã nói với các trình duyệt, chúng tôi có ATM và thiết bị và tốc độ kết nối bạn sẽ không nhận thấy sự khác biệt trừ khi bạn có một trang web lớn hơn 40 - 50 trang khi bạn nên nhìn vào lớp lót mỏng mã của bạn

Các vấn đề liên quan