1

我通过 w3 验证器放置了一些 css(我知道这有点毫无意义,因为它对 css3 犹豫不决)但我发现了一些我试图修复的可能是错误的东西。

这是它发现的错误之一,但我认为它没有任何问题。也许你们能看到我看不到的东西。

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

值错误:字体/不是字体系列值:粗体 3.7em / 0.82 Impact、Charcoal、sans-serif

代码是...

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

JJ

4

2 回答 2

3

认为这肯定是验证器中的一个错误(你不是唯一一个有问题的人),因为我从官方规范中提取了一个示例,并且它得到了同样的错误。

我验证了这一点:

* { 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

资料来源:

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

于 2012-05-08T23:13:28.843 回答
2

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

要么等待开发并手动检查 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可能是他们在许多地方、在多个规则中使用相同的设置。通常可以编写一次设置并在规则中使用合适的选择器列表,并且只覆盖所需的元素,这对于可维护性和代码可读性来说更好。

于 2012-05-09T03:47:08.447 回答