CSS样式元素,如果它不包含另一种特定类型的元素

时间:2012-04-04 15:24:39

标签: css image anchor

我的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,类,样式或图像周围的锚点。这可能吗?

2 个答案:

答案 0 :(得分:2)

你可以: -

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

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

答案 1 :(得分:2)

它区分大小写。只需使用所有上限HTTP:用于图像链接。