【发布时间】:2013-03-03 17:44:35
【问题描述】:
示例问题:http://jsfiddle.net/6WYXk/
我有一些 html:<p>% hello world</p>
我想让 % 加粗。为此,我通常会用 CSS 编写:
p:first-letter
{
font-weight: bold;
}
但是,这会使 % 和 h 变粗。
理想情况下,我想要:first-character 的伪选择器
【问题讨论】:
-
+1 个有趣的问题 +
-
感兴趣的浏览器会认为“%h”是一个字母。
-
实际上它似乎是依赖于浏览器的——Firefox 不会使任何东西加粗,Chrome 和 Safari 使 "%h" 加粗。只有 Opera 成功地将“%”变为粗体。 (不知道 IE,它进入了某种兼容模式,根本无法渲染 jsfiddle 页面:)
-
如果我说 IE9 似乎表现正确,你会相信我吗?
-
令人着迷。 Chrome 和 Safari(即 webkit)是唯一根据规范正确处理的(
%是 unicode 字符类Po— 其他标点符号 — 而 CSS 规范说前面的标点符号,包括该类,应该也匹配:first-letter)。我们可能会;目前尚不清楚空间(Zs类)是否应该改变。我当然不相信 Opera 做对了,但 Firefox 可以说是做对了。
标签: html css css-selectors