當我在一個小型網站上工作時,我決定使用PageSpeed擴展來檢查它們是否可以提高網站加載速度。然而,當我告訴我我的CSS選擇器的使用「效率低下」時,我感到非常驚訝。我總是被告知應該儘量減少HTML中的class屬性的使用,但是如果我正確理解了PageSpeed告訴我的是什麼,瀏覽器直接匹配類名稱會更有效率。它對我有意義,但這也意味着我需要在我的HTML中放置更多的CSS類。它使我的.css文件更難閱讀。我應該讓我的CSS更容易閱讀或優化速度
我通常傾向於以紀念我的CSS是這樣的:
#mainContent p.productDescription em.priceTag { ... }
,這使得它容易閱讀:我知道這會影響到的主要內容,它影響一個段落標記的東西(所以我不會開始將各種佈局代碼放入其中)描述產品及其需要強調的事物。不過看起來我應該將其改寫爲
.priceTag { ... }
刪除關於樣式的所有上下文信息。如果我想使用不同格式的價格標籤(例如,一個在段落中的側邊欄和一個列表),我需要的,因爲我似乎使用類似的東西
.paragraphPriceTag { ... }
.listPriceTag { ... }
這真的激怒了我在我的課程中複製HTML的語義。這意味着我不能把普通的款式在不合格
.priceTag { ... }
,因此我需要複製的風格在這兩個CSS規則,使其難以做出改變。 (雖然我可以使用多個類選擇器,但IE6不支持它們)
我相信爲了速度而難以閱讀代碼從未被認爲是一種非常好的做法。當然,除非它很重要。這就是爲什麼人們使用PHP/Ruby/C#等代替C/assembly來編寫他們的網站。編寫和調試更容易。所以我想知道是否應該堅持使用少量的CSS類和複雜的選擇器,或者如果我爲了速度而去優化路徑並刪除我喜歡的CSS選擇器?
PageSpeed是否超過最高推薦?在大多數現代計算機上,它甚至會有所作爲嗎?
謝謝。那令我擔心的是:將大量CSS類屬性添加到頁面中。 – 2010-05-11 14:32:36