2011-08-12 30 views
8

我的樣式表中有以下代碼片段。什麼是影響或目的?這個CSS片段的目的是什麼?

* { 
    margin:0; 
    padding:0; 
    top: 0px; 
    left: 0px; 
} 
+0

惹惱未來開發者的廢話。此外,除非項目具有非靜態位置,否則頂部和左側不起作用。 – corymathews

回答

8

這是一個reset CSS。它的目的是爲所有(*)元素移除默認的非零間距。所有的瀏覽器都有一些默認的樣式表,並且它們不是很一致。以<form>爲例。

注:設置lefttop屬性0px不看我的權利。這很可能會導致絕對定位問題。當絕對定位一個元素時,你可能只想定義它的垂直或水平偏移量(不是兩者),而保持另一個偏移量不變。重置CSS不允許這樣做,因爲它給出了垂直和水平的值。你也可能想從底部定位一個元素。如果你有這個重置,它將有bottomtop這在大多數情況下是不需要的,可能會改變元素的高度或不尊重其中一個偏移量。無論如何,它會給你一些無意的東西,打破你的佈局。

對於那些誰想要了解更多:http://www.w3.org/TR/CSS2/visuren.html#absolute-positioning

+0

提及'重置左側和頂部屬性'導致Google地圖控件中的頁面問題!刪除它們解決了我的問題(這就是爲什麼我問這個問題)。我會投票並接受答案。 – FiveTools

+0

我澄清了你的最後一點。如果你不喜歡,請隨時回滾。 – thirtydot

+0

@thirtydot我把你的編輯和我合併了;)謝謝! –

11

這是一個重置。之後所有的元素都會有0的餘量,填充等。

此類重置對規範化行爲(某些瀏覽器帶有預定義邊距,填充等)非常有用,並且可以提高跨瀏覽器的視覺一致性。

+0

並且它們的位置被重置(雖然你不會看到與'position:relative;'有任何區別) – knittl

+0

@knittl,你的意思是,position:relative會覆蓋行爲嗎?我有一個谷歌地圖控制我正在加載到一個頁面,這個片段的影響打破了地圖內的佈局。如果我刪除片段,它會正確呈現。但其他頁面元素未對齊。 – FiveTools

+0

@FiveTools它打破了具有'position:absolute;'的元素的定位(見我的回答)。谷歌地圖廣泛使用絕對定位。 –

0

你的代碼片段的目的是重置的margin,padding並設置位置,以在Web瀏覽器與視窗的左上角。

1

它將包含的規則應用於頁面的所有元素;爲級聯規則創建可預測的基準。

該技術被稱爲「重置」(谷歌爲「CSS重置」),並且是一種解決不同的瀏覽器使用不同的默認CSS規則的方法。

應儘早應用這些規則,通常在首次加載的CSS表的開始處應用。

0

Estric simbol被稱爲所有/所有東西,所以這意味着CSS將在所有elemetns上實現並將值設置爲參數。