大写字符/单词的伪选择器?

时间:2010-12-14 13:44:33

标签: css css-selectors uppercase capitalization

是否有用于大写字母/字母/单词的CSS伪选择器?我希望我所有的首都都小一点,所有其他角色都相同。资本不一定是句子(或单词)的第一个字符,也不是反过来。

或许还有另一种方法可以在CSS中找到这些字符?有诀窍?我喜欢技巧。

3 个答案:

答案 0 :(得分:3)

嗯,支持不良的first-letter选择器,但这不是你想要的。

你当然也可以用PHP预先解析你的HTML,将所有上限包装在<span class="capital"></span>标签中,但这是一个黑客攻击。

当然,你总是可以拔出魔法jQuery兔子并在文档加载时改变你的DOM以包含跨度。那也是一个黑客。你喜欢黑客吗?

让我们看看还有哪个出现了魔术: - )

答案 1 :(得分:1)

我认为这不可能。

最好只用带有类的span来包装大写字母,并使用它来设置它们的样式。

答案 2 :(得分:1)

使用CSS无法做到这一点。

您可以使用Javascript检查文本中的所有字符是否为大写(例如,使用if (yourtext == yourtext.toUpperCase())),然后在其中包含<span>包含CSS的样式。

或围绕这些方面的事情:

function wrapCaps() {
    var text = document.getElementById("my_text").value;
    for(i=0; i < text.length; i++) {
        if(text[i].charCodeAt(text[i]) >= 65 && text[i].charCodeAt(text[i]) <= 90)
        wrapNode(text[i], 'span');
    }
}

我没有尝试过(也许有人有时间用这个创建一个jsfiddle?),你可能需要使用replaceNode或类似的东西。 charCodeAt方法只查找大写字母,请注意不会包含特殊希腊大写字母之类的unicode字符。
您现在只需要使用以下内容设置样式:

#my_text span {
    font-size: 10px;
}