css第一个字母的链接

时间:2011-11-02 16:51:21

标签: css anchor pseudo-class

第一个字母伪类适用于p元素,但不适用于锚点(链接)。为什么? 如何使<a>元素

的第一个字母样式不同
a:first-letter
{
font-size:200%;
text-transform:uppercase;
color:#8A2BE2;
}

4 个答案:

答案 0 :(得分:5)

答案 1 :(得分:3)

根据W3 spec:first-letter伪元素仅适用于块元素,a不是。

奇怪的是,*:first-letter在Chrome 14和Firefox 3.6.23上引发了第一个字母转换。小提琴:http://jsfiddle.net/8W7FF/3/

答案 2 :(得分:0)

如果JavaScript是一个选项,可能值得一看:http://letteringjs.com(应该是相当跨浏览器兼容的)

答案 3 :(得分:0)

对于每个the spec::first-letter伪元素仅适用于块容器。” 因此,如果您尝试为::first-letter设置以下内容的样式,不是“块容器”,就像内联元素一样,它将无法工作。这不仅适用于链接。您还会发现,默认情况下,您也无法设置::first-letter的{​​{1}}的样式,如下所示:

span
div::first-letter, span::first-letter, a::first-letter {
    font-size:200%;
    text-transform:uppercase;
    color:#8A2BE2;
}

对此的一种可能的解决方法是,例如通过将元素设置为<div>I'm a div</div> <span>I'm a span</span> <a href="https://google.com">I'm an anchor</a>display: block,将其变成一个块容器。下面是一个示例,前者用于display: inline-block,后者用于span

a
div::first-letter, span::first-letter, a::first-letter {
    font-size:200%;
    text-transform:uppercase;
    color:#8A2BE2;
}
span {
    display: block;
}
a {
    display: inline-block;
}