外部链接css:文字链接对img链接

问题描述:

我有:after内容的外部链接显示在维基上的箭头图标。外部链接css:文字链接对img链接

a[href^="https://"] 
:not([href*="mysite.com"]) 
:after{ 
content: " " url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=);  
} 

但是,我也有链接是图像,而不是文本。对于那些我不想要:after的内容,我想要悬停的影子,但我无法弄清楚如何做到这一点。

大多数这些图像链接堆叠在一起,没有文本链接,也没有混合非链接图像,所以我可以将它们包装在div中并设置这些div以删除:在为所有链接添加内容并在悬停后添加阴影所有图像。但这是嵌套不必要的div,再加上它将意味着没有图像链接以外的这种divs ...

:空将检查任何里面的内容,包括文字,这样就不会工作,除非他的环节之一是完全空的(没有文字,没有孩子)。如果您可以提供带有和不带图像的代码示例,那将会很好。

如果您在其中嵌套<img>,则在没有嵌套div的情况下,您只需添加一个类即可。那么简单的风格就不同了。

+0

对不起,没想到给的文/ IMG链接例子文字链接是: google.com 图片链接: Manya

+0

不幸的是CSS呢除此之外没有任何选择器:空来检查元素内部的内容,然后再移回来选择外部的东西,所以最简单的选择是向图像链接添加一个类(我想必须少用它,所以它是更容易保持添加类,但无论哪种方式工作),你可以手动执行此操作,或者使用js自动检查链接中是否存在图像,如果是,则添加一个类。你应该考虑什么是最好的为你的情况。 – Forty

+0

非常感谢,我会加班。其中大部分是由php生成的,我可以手动执行的少数失败。 – Manya

如果你认为具有文本的锚元素不会有一个子元素,不像一个图像,那么你可以使用css empty selector

a[href^="https://"]:not([href*="mysite.com"]):empty:after{ 
    content: " " url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=); 
}  
+0

,消除:从包括文字以外的所有链接内容后:( – Manya