2010-08-26 21 views
2

我一直在試圖建立一個網站,我使用CSS Reset Stylesheet來幫助跨瀏覽器兼容性。然而,現在我看着Firebug的結果,看起來好像所有的CSS Resets都花費了大量的浪費時間遍歷了DOM。舉例來說,像一個簡單的代碼行:有沒有更好的選擇使用CSS重置?

<div><span><p>...</p></span></div> 

將繼承一堆從p, span, div, body, and html浪費的風格,這將很可能被一個class和id反正覆蓋。對於我能想到的許多場景,只需從body {}繼承即可。這對我來說似乎非常低效。

我真正的問題是,這將是更好的做法,如果我只是設置:

* {margin:0; padding:0; border:0;} and maybe body {font-size:62.5%} 

或者是,同樣的代碼效率低下?在這一點上,這兩個CSS規則似乎是重置樣式表中唯一有用的部分。

+2

我不會寫作關心自己「高效」 CSS,你永遠不會注意到性能的差異。 – meagar 2010-08-26 20:24:21

回答

1

引用Eric Meyers關於他的Reset style sheet

這是多點的位置:該 這不是「以某種方式 每個人都必須 使用這些樣式沒有改變」的情況下。我也不是說 每個人都必須使用它們或者 投射到黑暗中。在 之前記住我稱之爲「我對 重置風格的話題」(重點加入 )。你可能會微妙地或 大不相同。把它們想象成一個 創建你自己的默認值 的出發點,除了作爲一種方式 來說明默認的瀏覽器 的性質。只需考慮 這些違約行爲, 仔細考慮它們會讓您的 超過99%的同行。我認爲 重置樣式是非常有用的; 否則,我不會在這裏寫關於他們的 ,而且肯定不會在 的範圍內。我的希望是 ,人們會將它們用作自己的重置 墊和 深入思考造型和 瀏覽器。

如果你發現一個更簡單的重置樣式表最適合你,那麼我真的不能不同意你的看法。我認爲你已經確定了那些對於佈局而言非常重要的部分,如果這就是你正在尋找的所有東西,那麼你不必再推它。

1

這是意圖「這將可能是一個class和id反正覆蓋」。重置是「清除」所有樣式,以便您可以通過自己聲明所有內容。

至於你的其他問題,是的,我傾向於同意。通用選擇器應該是你所需要的,並且如果你打算進行一個相當基本的重置,那麼就把所有'清零'的樣式都放進去了。

Eric Meyer的重置不是太大,但:

http://meyerweb.com/eric/tools/css/reset/

+0

我知道這是意圖,我的觀點是,當瀏覽器解釋CSS時,它似乎浪費了很多時間。 – Moses 2010-08-26 20:26:13

3

CSS是不eficient無論如何,它是建立在假設的電腦足夠快呢(這是CSS一個道理),所以不要擔心你的css效率。

相反,做任何你覺得更具可讀性的東西,但是想想其他人也能夠在晚些時候接管你的項目。

2

不要使用通用選擇器來執行CSS重置。我很難學會這一點,但當你這樣做時,獲取按鈕和輸入元素以及類似的東西看起來很正常/本地化是不可能的。

其實,這不是不可能的,這是不可能的。

你好得多使用別人誰似乎做了一個CSS復位像他們知道他們在做什麼:http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/(也就是說這是最廣泛使用的CSS重置腳本在那裏的一個)

+0

由於*選擇器造成按鈕或輸入元素的樣式變得不可能?如果我沒有弄錯,*的特異性爲0,所以你寫的每個規則都會覆蓋*。 – Moses 2010-08-26 20:40:05

+1

你有沒有試過編寫CSS樣式的按鈕樣式呢?很像它的外觀?在不同的瀏覽器,不同的操作系統等?是的,如果你想自定義按鈕,那麼沒有問題,如果你不這樣做,你就處於一個痛苦的世界。 – 2010-08-27 13:22:14

0

當然,通用選擇器的性能並不比其他多選器好。你可以測試它here並閱讀它here

這就是說,我認爲,CSS的表現並不是一個問題很大,你是在處理一個特別巨大的DOM。

相關問題