3

我想用 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;
}

我的老板说:让网站上的所有链接都有字符,除了我们说不应该有的链接。当然,他没有工作的例子可以给我看。

4

3 回答 3

3

只需使用a[href] {这意味着定位所有具有href属性集的锚元素。更多信息可以在W3C 规范中找到。

例子。

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 &raquo; */
}​
于 2012-11-23T15:30:03.407 回答
1

通常,在 CSS 中引用链接的最跨浏览器方式是使用:link:visited伪元素(分别代表未访问和已访问的链接)而不是选择器a

#sample :link:after, #sample :visited:after

在这种情况下,您也可以使用更简单的方法来使用属性选择器,就像您也使用:after伪类一样(它的支持比属性选择器的限制要少一些):

#sample a[href]:after

最简单的是,不要将a元素用于链接以外的目的。<a name=...>已弃用 of ,取而代之的是在某些自然元素上使用该属性id

补充:问题也是关于防止选定链接的箭头。这可以实现,以便您使用class=noarrow这些链接上的属性来指示选择,并添加一个 CSS 规则,将生成的内容设置为空:

#sample :link.noarrow:after, #sample :visited.noarrow:after {
  content: ""; 
}  

:not(...)由于浏览器支持方面的问题,这可能是比使用选择器更好的方法。但在现代浏览器上,以下方法也有效:不使用两条规则,而只使用一条排除特定类的规则:

#sample :not(.noarrow):link:after, #sample :not(.noarrow):visited:after {
  content: "\00bb"; /* Unicode hex for &raquo; */
  padding-left: 2px;
}

如何防止箭头下划线(生成的内容)是另一个问题。问题中使用的技巧似乎不适用于 IE。此外,它使箭头覆盖文本。我对这个问题没有很好的答案,我认为最好将它作为一个单独的问题进行讨论(除非你可以在现有问题中找到它的讨论)。

于 2012-11-23T17:37:34.193 回答
-1

我会为锚点添加一个类名并覆盖链接上使用的声明的 CSS。

于 2012-11-23T15:28:30.120 回答