2010-11-30 100 views
56

我已經看到這種表示法用了很多,我在想,這兩種表示法有什麼明顯的區別?'屬性:0'或'屬性:0px'在CSS?

element#id 
{ 
    property: 0; 
} 

element#id 
{ 
    property: 0px; 
} 

我用property: 0px;所有的時間,因爲我覺得它更乾淨外觀,但我真的不知道,如果在瀏覽器解釋0px不同於0

有誰知道哪一個更好或更正?

+1

好問題,並且早於這個可能重複:http://stackoverflow.com/q/5359222/292060,但那個有更好的答案,引用規範。 – goodeye 2012-01-13 04:09:35

+1

無論您使用什麼,請務必在整個項目中保持一致。 – testing123 2016-08-11 12:49:37

回答

17

雖然單位是可選的,如果值是0,我傾向於在離開它,我就可以通過點擊值調整與Chrome的開發者工具的價值和按上/下箭頭鍵。沒有一個單位,這是不可能的。

此外,CSS縮小器將0值的單位剝離,因此它最終無關緊要。

14

它們是相同的。瀏覽器將這兩個解釋爲0,因此請爲您提供更易讀的內容。

+0

是否有「正確的」或符合標準的選擇?我知道你不能寫'border:3 solid`,因爲沒有單位,但是有沒有零標準的網絡標準? – Blender 2010-11-30 20:53:45

+1

正如我在我的回答中提到的那樣,這是因爲它們都是相同的:任何東西仍然爲零,無論是乘以像素大小,em,ex還是百分比。 – AgentConundrum 2010-11-30 20:55:50

+0

不確定你的網頁標準是什麼意思,但「margin:10px 0 0 10px」可以正常工作,「border:0」的意思是你可以使用零作爲「none」的等價物。 – Tom 2010-11-30 20:57:10

2

零像素等於零英寸和零米等等。 0是你需要的。

1

我個人發現00px更清潔。這是兩個額外的字符,可以加起來。爲什麼在不需要時添加額外的字節?我看到padding: 0px 0px 0px 0px,它可以很容易地表示爲padding: 0的方式。

7

任何東西都爲零。 0px = 0% = 0em = 0pt = 0

大多數人離開單位了,因爲它根本就是不必要的混亂。

4

據我所知,他們之間沒有任何區別,因爲0px = 0em = 0ex = 0% = 0。作爲開發人員,完全取決於你自己決定你最喜歡什麼(當然,除非你有公司的編碼標準,你需要遵循)。

從我見過的大多數代碼示例中,大多數人都使用無單位版本。對我來說,它看起來更乾淨。如果您推送大量數據(比如說,如果您是Google),那麼這兩個字節會帶來很多帶寬,尤其是因爲您很可能在樣式表中多次重複這些數據。

0

正如其他人所說,它的0值並不重要,儘管我選擇將度量值添加到所有值中,所以其他任何查看我的CSS文件的人都可以測量他們可能處理的測量值別處。

36

單位標識符是可選,但沒有注意到性能增加(雖然你保存兩個字符)。

按照W3C CSS 2.1 Specification for Syntax and basic data types

一個長度值(由<長度>在本說明書中表示)的格式是一個<數>(帶有或不帶有小數點)緊跟一個單元標識符(例如,px,em等)。 零長度後,單位標識符是可選的。

(重點煤礦)

1

你可以使用任何一種 - 我最好的建議是不要擔心太多,但要一致地做到這一點或其他。我個人更喜歡指定「0像素」,原因如下:

  • 使用0像素,使事物與其他所有「PX」的更一致您指定
  • 它也更詳細的尺寸和非常清楚那你設置一個零長度,而不是一個「關掉這個功能」標誌
  • 這是稍微容易調整一個'0像素的價值,使其另一個值,如果需要