2012-12-19 83 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

什么是您使用的文档类型 –