2011-11-04 89 views
0

我想在現代瀏覽器中顯示舊的HTML2。 (糟糕的)HTML3代碼包含字體的 HTML元素,大小的屬性。文本的大小以像素爲單位定義,因此size =「14」表示用戶希望文本的大小爲14px。字體大小屬性不是以像素爲單位?

W3School文檔指定size屬性的有效值只能是「1,2,3,4,5,6,7,+ 1,+ 2,+ 3,+ 4,+ 5, + 6,+ 7,-1,-2,-3,-4,-5,-6,-7" 。所以看起來字體大小屬性單位不是像素,而是em或什麼的?

有沒有辦法讓字體元素以像素爲單位顯示字體文本大小?

我曾嘗試以下,但他們不以Safari瀏覽器工作:

<font size="14">test</font> // displays in huge text(its not 14px in font size) 
<font size="14px">test</font> // looks the same as line 1 
<font size="14pt">test</font> // looks the same as line 1 
<font size="14em">test</font> // On Firefox the font size is 14px(correct) but on Safari it looks the same as line 1 
<font size="14%">test</font> // looks the same as line 1 

也許如果我試圖改變HTML文件它會讀取HTML3代碼的DTD?

+0

有沒有理由不能使用樣式屬性? '' – Lee

回答

1

正如你可能知道,標籤已被棄用,因此有很好的機會,你只是會看到各種現代瀏覽器的離奇古怪和行爲,因爲真的沒有任何「標準」瞭如何渲染它。

因爲它似乎是你必須去的反正更改代碼,我會強烈建議切換到CSS,即使是添加一個簡單的風格標籤這樣的簡單:

<style type="text/css"> 
    body { 
    font-size: 14px; 
    } 
</style> 

你也可以在代碼中查找並替換一些代碼,例如根據情況用'div'或'p'代替'font'的所有實例。然後,您可以爲該類型的元素創建單一樣式規則,然後從那裏開始。

<style type="text/css"> 
    p { 
    font-size: 14px; 
    } 
</style> 

對於額外的控制程度,而不僅僅是什麼也沒有更換所有的大小=「14」的東西,你可以查找和替換要達到這樣的類=「MyClass的」,然後風格,特殊類。

<style type="text/css"> 
    p.myclass { 
    font-size: 14px; 
    } 
</style> 

這可能是多一點的工作,現在(但並不多,我發誓!),但是如果點是讓現代的瀏覽器上運行的代碼,它可能是值得的。我不認爲在這種情況下更改DTD也會有很大幫助。看看這個論壇http://www.sitepoint.com/forums/showthread.php?607459-Can-t-change-font-using-Font-tag欲知更多信息。

1

有沒有辦法讓字體元素,以顯示像素爲單位的字體文字大小?

不,您不能在<font>中設置size屬性的像素值。值的範圍映射到任意的,未指定的大小,並且您不能指定除這些範圍以外的任何其他值。

您可以通過style屬性來使用內聯CSS,如Lee的評論所示。 <font>元素支持它,就像其他元素一樣。

或者,你知道,只是使用真實的樣式表

也許如果我嘗試更改HTML文件的DTD,它會讀取HTML2代碼?

不是真的有關我的答案,但<font>元素並未在HTML 2.0存在。它僅在HTML 3.2中定義(如果您願意),然後在HTML 4.0和XHTML中棄用,然後完全從HTML5中消失。

更改doctype定義不會改變瀏覽器解析和顯示HTML的方式。至少到目前爲止,標記版本不會影響它的呈現方式。

+1

好吧,那很尷尬。 OP的編輯只是把我的答案的一半**完全**不相關。 – BoltClock

0

正如您所提到的,w3schools指出size屬性已被棄用且不再受支持。它只支持一個數值,所以試圖在px,em等中破解不會產生任何結果。

推薦的方法是使用CSS(以及現代/受支持的HTML元素,例如段落或div)。以某種方式使用CSS是您將能夠實現預期效果的唯一方法。

<p style="font-size:14px">test</p>

相關問題