2014-03-04 86 views
0

CSS如何將空間識別爲錯誤?關於額外空間的CSS語法

這將工作,例如: height: 50px;

但這不起作用?: height: 50 px;

誰能告訴我,爲什麼是這種情況?在我的CSS中很難找到這個錯誤。

+1

問題不是兩個連續的空格,而是'50'和'px'之間的額外空格。 – DCoder

+0

@DCoder哈哈我編輯了 – STP38

+0

@TylerH我的錯。我認爲SO只是關於編程。我檢查了元,顯然CSS被認爲是主題。 –

回答

5

W3C specification狀態,你這樣做是在PHP

$var iable = 1; 

無論如何,如果你認爲它的對錯,你必須代碼的規範,無論的是,對於CSS級別3,所有非零值必須伴隨一個單位標識符,在這種情況下爲px。在值之後添加空格基本上與根本不添加單元標識符相同。 CSS規範將空間視爲一條指令,瀏覽器應停止解釋該屬性並轉到新的行或屬性列表。

body { 
    font-size: 50 px; 
} 

是不行的,因爲CSS被解釋爲:

什麼元素? Body.如果可能的話,根據規範進行解釋。有一個空間;轉到下一行或屬性。什麼是財產? Font-size.此屬性需要一個值。什麼是font-size屬性的值? 50.如果可能,按說明書進行解釋。轉到下一行或屬性。下一行說px;。等等。

所以你的CSS將被瀏覽器以這種方式解釋。該規範允許的空間一個屬性單元size:50px; VS size: 50px;)之間沒有空間,所以瀏覽器有一個用例爲任一這些情況。如果在單元單元標識符size:50 px;)之間存在空格,則沒有使用情況,因爲規格不允許使用該空格。瀏覽器不理解要做什麼並繼續前進;風格不適用。

1

CSS並沒有真正的錯誤。它可以工作,也可以不工作。 height: 50 px不起作用,因爲它不知道如何解釋50 px

+0

您可以添加一些解釋爲什麼?只是「50 px不起作用」不是一個好的答案。 – TylerH

1

值(在這種情況下爲50)和單位(px)應該彼此相鄰,而且兩者之間沒有空間。但是50和:之間的空間並不重要,僅用於裝飾目的。

0
height: 50 px; 

不工作,因爲瀏覽器不知道如何解釋它。瀏覽器根據規範解釋CSS ...

僅僅因爲它的空間並不意味着它可以放在那裏。例如,如果什麼什麼語言使用的是