CSS字体速记验证

时间:2012-05-08 23:02:11

标签: css validation w3c-validation

我在w3验证器中放了一些css(我知道它有点无意义,因为它在css3上很苛刻)但我发现了一些我试图解决的问题可能是错误的。

这是它发现的错误之一,但我没有看到它有什么问题。也许你们可以看到我没有的东西。

它给出的错误是......

  

值错误:font /不是font-family值:粗体3.7em / 0.82 Impact,Charcoal,sans-serif

代码是......

font:bold 3.7em/0.82 Impact, Charcoal, sans-serif;

JJ

2 个答案:

答案 0 :(得分:3)

我认为相当肯定这必须是验证器中的错误(you're not the only one with the problem),因为我从official specifications上取下了其中一个示例,并且它得到了同样的错误。

我验证了这一点:

* { font: bold 3.7em/0.82 Impact, Charcoal, sans-serif; }
p { font: x-large/110% "New Century Schoolbook", serif } /* from specs */

得到了这个:

Sorry! We found the following errors (2)
URI : TextArea
1    *   Value Error : font / is not a font-family value : bold 3.7em / 0.82,Impact,Charcoal,sans-serif
2    p   Value Error : font / is not a font-family value : x-large / 110% "New Century Schoolbook",serif

来源:

拼图css验证器并不完美。它是软件,因此它包含错误。在这些情况下,最好的办法是检查主题的规范并尝试验证示例代码,如果在这种情况下确认,请尝试查看它与您自己的不同。

答案 1 :(得分:2)

The bug was reported 2012年5月3日,在W3C CSS Validator的邮件列表中。还没有回复,我希望在修复bug之前需要几天,甚至几周。这可能与他们重写与字体相关的处理属性值的某些部分有关,在这个过程中也出现了一些其他错误(现在已经修复)。

要么等待开发并手动检查CSS代码的这种部分,要么使用单独的字体属性而不是font简写。 CSS短缺通常是有风险的,不是由于浏览器错误(更多),而是由于概念上的困难以及人们倾向于使用复杂的语义和句法专业来构造错误。

由于这些原因重写大量现有代码几乎没有用,但对于个别规则和新代码,最好避免使用'font:bold 3.7em / 0.82 Impact,Charcoal,sans-serif;'(即使它符合要求)并使用单独的属性:

font-weight: bold;
font-size: 3.7em;
line-height: 0.82;
font-family: Impact, Charcoal, sans-serif;

人们使用font短片的主要原因可能是他们在多个规则中的许多地方使用相同的设置。对于可维护性和代码可读性而言,通常可以编写一次设置并在规则中使用合适的选择器列表,仅涵盖所需的元素。