我想用CSS将一个字符应用到我的一些HREF的末尾,我找到了一种有效的方法,但它也将这个字符应用于锚点。我不想要我的锚点上的角色。到目前为止,我只能将属性应用于整个DIV,我无法坚持使用一个简单的类,我可以选择性地仅应用于HREF。
以下是我所拥有的:
#sample a:after {
position: absolute; /* Prevent underline of arrow */
padding-left:2px; /* Add a little space between text and arrow */
content: "\00bb"; /* Unicode hex for » */
}
有什么建议吗?
我的DIV确实拥有一些链接样式,我需要移动它吗?例如:
#sample a:hover {
color:#CCCCFF;
text-decoration:underline;
margin-top:20px;
}
我的老板说:让网站上的所有链接都有这个字符,除了我们说不应该有的链接。当然,他没有工作实例向我展示。
答案 0 :(得分:3)
只需使用a[href] {
这意味着定位所有设置了href
属性的锚元素。可以在W3C specification上找到更多信息。
<强> HTML 强>
<a href="#link" id="link">link</a>
<br />
<a id="anchor">anchor</a>
<强> CSS 强>
a[href]:after {
position: absolute; /* Prevent underline of arrow */
padding-left:2px; /* Add a little space between text and arrow */
content: "\00bb"; /* Unicode hex for » */
}
答案 1 :(得分:1)
一般来说,在CSS中引用链接的最常见的浏览方式是使用:link
和:visited
伪元素(分别代表未访问和访问过的链接)而不是选择器{{ 1}}:
a
在这种情况下,您也可以使用更简单的方法来使用属性选择器,因为您也使用#sample :link:after, #sample :visited:after
伪类(并且它的支持略少于属性选择器):< / p>
:after
最简单的是,不要将#sample a[href]:after
元素用于链接以外的目的。不推荐使用a
,而是赞成在某些自然元素上使用<a name=...>
属性。
添加:问题还在于阻止选定链接的箭头。这可以实现,以便您在这些链接上使用id
等属性指定选择,并添加一个CSS规则,将生成的内容设置为空为它们:
class=noarrow
由于浏览器支持问题,这可能是比使用#sample :link.noarrow:after, #sample :visited.noarrow:after {
content: "";
}
选择器更好的方法。但是在现代浏览器中,以下方法也适用:不使用两个规则,只使用一个排除特定类的规则:
:not(...)
如何防止箭头下划线(生成的内容)是另一个问题。问题中使用的技巧似乎不适用于IE。此外,它使箭头覆盖文本。我对这个问题没有好的答案,我认为最好将其作为一个单独的问题进行讨论(除非你能在现有问题中找到它)。
答案 2 :(得分:-1)
我会在锚点上添加一个类名,并覆盖链接上使用的声明的CSS。