2012-12-19 121 views
1

我在我的iPad應用程序中提供了以下html段。字體顏色不起作用

<font size="4px" face="HelveticaNeue" color=rgb(49,49,49)>ABC</font> 

它應該是暗灰色,它在iOS 5.1以下。但在iOS 6上它是綠色的,並且在Chrome和Firefox中也顯示綠色。

上面的代碼有沒有錯誤?爲什麼它在以前的iOS中工作?

謝謝。

+1

嘗試添加引號? 'color =「rgb(49,49,49)」'使用樣式代替字體標籤。 – irrelephant

+0

感謝您的回覆。添加引號不起作用。我已經通過使用樣式解決了這個問題。這是傳統代碼。我只是想知道這個的原因。 – yibuyiqu

回答

2

通過HTML 4.01 specification,在font元件的size屬性的值具有一個數字值,沒有任何單元,並且該值被取爲指標,尺寸的瀏覽器依賴性陣列。此外,4px會使CSS尺寸變小,意味着4像素 - 在這種尺寸下,幾乎所有的字體都變得難以辨認。字體名稱中的空格很重要,所以HelveticaNeueHelvetica Neue完全不同。 color屬性值必須是以#爲前綴的6位十六進制代碼或規範中定義的關鍵字之一。

虛假</span>標記是語法錯誤,但通常會被瀏覽器忽略。但是,如果以前的<span>標記尚未具有匹配的結束標記,則(作爲常見錯誤恢復的一部分),結束標記將結束其效果。

所以這是一個奇蹟,代碼在任何地方工作。它只是因爲你在一個特殊的環境中使用它,而font標記的解釋方式恰好符合你的期望。

只要通過4px你不是說4個像素,但HTML大小4的比例從1到7,接下來大小大於默認值,那麼將遵循以下幾點:

<font size="4" face="Helvetica Neue" style="color:#313131;">Text hereABC</font> 

雖然大多數人會認爲使用CSS更合適。在CSS中,您可以使用例如顏色值如rgb(49,49,49)

+0

謝謝。你的意思是rgb(x,x,x)只能在CSS中工作嗎? – yibuyiqu

+0

@yibuyiqu,是的,或者至少rgb(...)僅在CSS規範中定義,而不是在HTML規範中定義。所以如果任何瀏覽器在HTML'color'屬性中識別它,它就是一個特定於瀏覽器的擴展。 –

0

使用本<font size="4px" face="HelveticaNeue" style="color:#313131;">Text here</span>ABC</font>

+0

感謝您的回覆。它運作良好。它甚至可以替代「rgb(49,49,49)」和「313131」。我想知道原始代碼有什麼問題? – yibuyiqu

+1

什麼是您使用的文檔類型 –