在文本中使用a::after来创建链接,但是排除链接的图片。

7 浏览
0 Comments

在文本中使用a::after来创建链接,但是排除链接的图片。

使用演示链接。\n我使用以下代码来样式化链接:\n

a::after {
  content: " »";
}

\n它有效果:\n一些链接文本\n不幸的是,现在我也在链接的图像后面得到了一个“»”,而我并不想要这个:\n\n我需要做什么改变,才能在链接的文字后面得到“»”,但不在链接的图像后面?

0
0 Comments

在网页开发中,有时候我们希望在文本链接后面添加一个箭头图标,以提醒用户该链接将会打开一个新的页面。为了实现这个效果,我们可以使用::after伪类来添加这个箭头图标。具体的代码如下所示:

a:after {
    content: " »";
}

然而,有时候文本链接中也会包含图片链接。如果我们将上述代码应用到所有链接上,不仅文本链接会出现箭头图标,图片链接也会出现箭头图标,这显然不是我们想要的效果。因此,我们需要找到一种方法来排除图片链接,只对文本链接应用箭头图标。

为了解决这个问题,我们可以使用:has伪类。这个伪类可以选择包含特定元素的父元素。在这种情况下,我们可以使用a:has(img):after来选择包含图片的链接,并将::after伪类的内容设置为空。这样,我们就可以将箭头图标应用到文本链接上,而不会影响图片链接。

下面是完整的代码:

a:after {
    content: " »";
}
a:has(img):after {
    content: '';
}

通过使用::after伪类和:has伪类,我们可以实现在文本链接后面添加箭头图标的效果,并排除图片链接。这样,用户在浏览网页时就能清楚地知道哪些链接将会打开新的页面。

0
0 Comments

问题的原因是希望在文本链接后面添加一个箭头符号,但是不想在图片链接后面添加这个符号。现有的解决方法是使用负边距来隐藏图片下方的符号。然而,这种方法并没有提供一个CSS选择器来区分具有特定子元素的元素。

为了解决这个问题,可以尝试使用以下代码来实现符号的添加并排除图片链接:

a::after {
  content: " »";
}
a img {
  margin-right: -13px;
  position: relative;
  vertical-align: top;
}
a img + *::after {
  content: none;
}

这段代码中,通过使用`a img + *::after`选择器来指定排除图片链接后的元素,并将其内容设置为`none`,从而实现排除图片链接后的符号添加。

希望这个解决方法能够帮助到你解决这个问题。

0
0 Comments

问题的原因是,使用CSS的::after伪元素为文本链接添加符号时,也会将链接的图片内容也包含在内,导致图片也显示了符号。解决方法是通过给文本链接添加一个类来限定只对文本链接使用::after伪元素,而不包含图片链接。

具体解决方法如下所示:

.text::after {
  content: " »";
}

Some linked Text 


以上代码中,通过给文本链接添加了一个类名"text",并在CSS中使用".text::after"来为文本链接添加符号。而对于图片链接,则没有添加类名,因此不会被包含在::after伪元素的内容中,从而避免了图片链接也显示符号的问题。

0