css – 这个字体:速记属性语法有效吗? (我对规范的解读是肯定的,但我安装的浏览器中有一半不同意.)

前端之家收集整理的这篇文章主要介绍了css – 这个字体:速记属性语法有效吗? (我对规范的解读是肯定的,但我安装的浏览器中有一半不同意.)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这有效吗? font:bold 10px / 13px inherit;

根据我对specs的解释,它应该是’粗体’的字体粗体,’继承’的字体系列,’10px’的字体大小,以及’13px’的行高.

它似乎在Internet Explorer 8(8.0.6001.18702)中正常工作.

它在Windows上的Safari 5.0.4(7533.20.27)中正常工作.

Opera 11.01(build 1190)和Firefox 3.6.16都记录了它的错误.

我还没有尝试过Chrome或Firefox 4.

如果这确实应该是有价值的,那么这个解析错误是一个已知的问题吗?

加分:

> W3验证器也将此报告为无效.
>没有’font:bold 10px inherit;’,’font:bold 10px / 13px;’或’font:bold 10px;’在Firefox中正常工作.

更新

正如Adam Wagner在他的回答中指出的那样,由于CSS2.1规范的§C.3.1,我的尝试价值实际上是无效的(尽管我对该规范提出了天真的解读).

解决方法

我认为问题在于你的价值的“继承”增加.

根据规格:

[[<'font-style'> || < ‘字体变量’ > || < ‘字体重量’ > ]? < ‘字体尺寸’ > [/<'line-height'> ]? < ‘字体家庭’ > ]
|字幕
|图标
|菜单
|消息框
|继承

我认为上面列出的粗体部分是一个选项,“caption”,“icon”,“menu”,“message-Box”和“inherit”是剩下的选项.

简而言之,尝试:font:bold 10px / 13px

更新:

看来webkit有一个关于这个问题的优秀错误报告.关于firefox不确定. (https://bugs.webkit.org/show_bug.cgi?id=20181)

此外,正如票证中提到的那样,2.1规范解决了这个问题:

“速记属性采用子属性值列表或值’继承’.不能将’继承’与其他子属性值混合,因为无法指定应用’继承’的子属性.许多速记的定义属性没有强制执行此规则:’border-top’,’border-right’,’border-bottom’,’border-left’,’border’,’background’,’font’,’list-style’,’提示’和’大纲’.“

http://www.w3.org/TR/CSS21/changes.html#q142

猜你在找的CSS相关文章