我的 iPad 应用程序中显示了以下 html 段。
<font size="4px" face="HelveticaNeue" color=rgb(49,49,49)>ABC</font>
它应该是深灰色的,它在 iOS 5.1 以下。但在 iOS 6 上它是绿色的,它在 chrome 和 firefox 中也显示绿色。
上面的代码有错误吗?为什么它可以在以前的 iOS 中运行?
谢谢。
根据HTML 4.01 规范,元素中的size
属性值是font
一个数值,没有任何单位,并且该值被视为与浏览器相关的大小数组的索引。此外,4px
如果像在 CSS 中那样表示 4 像素,那么尺寸会变得很小——在那个尺寸下,几乎所有字体都变得难以辨认。空格在字体名称中很重要,因此HelveticaNeue
与Helvetica 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)
.
用这个<font size="4px" face="HelveticaNeue" style="color:#313131;">Text here</span>ABC</font>
<font>
HTML5 不支持该标记。改用 CSS!
如果您仍想使用color
属性,则应尝试使用十六进制值#xxxxxx
而不是rgb(x,x,x)