1

我的 CSS 包括以下内容:

#mainbody a[href ^='http']      {
        background:transparent url('/images/icons/external.svg') no-repeat top right;
        padding-right: 12px;
}

这会在以“http”开头的链接旁边放置一个“外部”图标(所有内部站点链接都是相对的)。工作得很好,除非我链接一个图像,它也会得到这个图标。

例如:<a href='http://example.com'><img src='whatever.jpg'/></a>还会在图像旁边获得“外部”图标。如有必要,我可以忍受这个,但想消除它。

这必须在 CSS(无 JS)中实现;不得要求图像的 html 中的任何特殊 ID、类、样式或图像周围的锚点。这可能吗?

4

2 回答 2

2

您可以:-

  • 仅对图像使用相对链接
  • 链接到图像的裸域(例如http://domain.com)并将外部链接过滤器修复为 www。而不是http。

不需要 CSS - 您基本上需要使用不太常见的过滤器。

于 2012-04-04T15:34:19.097 回答
2

它区分大小写。只需将所有封顶的 HTTP: 用于图像链接。

于 2012-04-04T16:55:18.057 回答