2

我的 iPad 应用程序中显示了以下 html 段。

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

它应该是深灰色的,它在 iOS 5.1 以下。但在 iOS 6 上它是绿色的,它在 chrome 和 firefox 中也显示绿色。

上面的代码有错误吗?为什么它可以在以前的 iOS 中运行?

谢谢。

4

3 回答 3

2

根据HTML 4.01 规范,元素中的size属性值是font一个数值,没有任何单位,并且该值被视为与浏览器相关的大小数组的索引。此外,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).

于 2012-12-19T07:57:35.050 回答
0

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

于 2012-12-19T05:56:52.257 回答
0

<font>HTML5 不支持该标记。改用 CSS!

如果您仍想使用color属性,则应尝试使用十六进制值#xxxxxx而不是rgb(x,x,x)

于 2018-11-20T06:50:15.250 回答