2011-11-04 53 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>

相关问题