是否有用于大写字符/字母/单词的 CSS 伪选择器?我希望我所有的大写字母都小一点,而所有其他字符的大小都一样。大写字母不一定是句子(或单词)的第一个字符,反之亦然。
或者也许还有另一种方法可以在 CSS 中找到这些字符?用诡计?我喜欢诡计。
是否有用于大写字符/字母/单词的 CSS 伪选择器?我希望我所有的大写字母都小一点,而所有其他字符的大小都一样。大写字母不一定是句子(或单词)的第一个字符,反之亦然。
或者也许还有另一种方法可以在 CSS 中找到这些字符?用诡计?我喜欢诡计。
好吧,有支持不佳的首字母选择器,但这不是您想要的。
当然,您也可以在 PHP 中预先解析您的 HTML,将所有大写字母包装在<span class="capital"></span>
标签中,但这是一种 hack。
然后当然你可以随时拿出神奇的 jQuery rabbit 并在文档加载时改变你的 DOM 以包含 span。这也是一个黑客。你喜欢黑客吗?
让我们看看还有谁会变魔术:-)
我不认为这是可能的。
最好只用一个类将大写字母包装起来,并用它来设置它们的样式。
使用 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;
}