2013-03-18 112 views
1

我繼承了一些大約7-8年前編寫的代碼。
該代碼包含一些帶內聯css的HTML。奇怪的CSS語法

我發現像這 -

<span style="color='red'">Hello World</span> 

請注意=標誌,而不是在風格屬性的:跡象。

以前有人看過這個嗎?這是否被認爲是正確的?
爲什麼有人會這樣做......?

它適用於IE 6和7

我不想它,而是怕序列的我是否會改變它

+0

它不能被認爲是關於CSS的語法正確。可能是它會被錯誤地寫入。 – AmGates 2013-03-18 10:06:42

+0

謝謝@AmGates,這就是我的想法,但它的工作原理...... – Bassal 2013-03-18 10:08:52

+2

這不是「正確」的CSS,但IE 6和7是神奇的實體和很多工作,不應該和不工作應該是。 – 2013-03-18 10:10:09

回答

6

有沒有人見過這個?

是它被認爲是正確的?

沒有

爲什麼會有人做這樣的事......?

通過錯誤

它適用於IE 6和7

不同的瀏覽器會從不同的錯誤中恢復。依靠它通常不是一個好主意。

我不想它,而是怕序列的我是否會改變它

我不知道的情況下,但它應該是罰款去改變它。

有時候這種類型的錯誤恢復的會被利用來提供CSS到只有特定的瀏覽器(通常以補償其他錯誤),但它是不可能的上只適用於顏色取決於設計的任何部分IE 6/7。

0

我認爲這是一個語法錯誤。

它應該是:

<span style="color:red;">Hello World</span> 
0

這是錯誤的語法和風格是行不通看到這裏fiddle

權是語法時才

<span style="color:red;">Hello World</span> 
0

我不知道它是如何工作在IE6和IE7上,但在現代瀏覽器如鉻,火狐它不會工作...我會建議堅持使用新版本。即 <span style="color:red;">hello</span>

0

這是絕對不正確的,然而許多事情在IE6和7中工作,不應該和不應該工作。

我想象事情的經過是有人走過來決定「修正」的做事老派的方式:

<span color='red'>Hello World</span> 

而且在style=""包圍color屬性。

不用說,你不應該擔心提供的文本應該是紅色的後果。 style="color:red;"今天可以在任何瀏覽器中使用。

0

這是以前的開發人員犯的一個明顯錯誤。將其更改爲:

<span style="color:red;">Hello World</span> 

您將不會有任何問題將其更改爲此,因此您的擔憂應該在此基礎上解決。

它可能工作的原因是因爲瀏覽器以自己的方式處理不正確的標記。您是否注意到,與編程語言不同,因此錯誤並因此「中斷」,不管開發人員做了什麼,HTML都呈現爲瀏覽器可以創建的最佳狀態?

希望這會有所幫助。

謝謝, Mikey。

1

當然是不正確的;它違反了基本的CSS declaration syntax

IE的舊版本支持許多非標準的語法功能,只能在Quirks Mode中考慮。在CSS規範中禁止這種支持:它們有error handling rules,它們要求忽略像color='red'這樣的構造。

通常,7-8年前編寫的代碼應該保持不變,或者如果需要更改,最小化改變。在這種情況下,代碼對一些非常古老的瀏覽器有一些影響,對其他瀏覽器沒有影響。如果有強有力的證據表明以代碼的方式工作是非常重要的,那麼您可以更改它,但是您需要將頁面或網站視爲一個整體,並檢查其他事情是否受到影響。

0

這是語法不正確

它的意思是

<span style="color:red;">Hello World</span>