ro-*_*age 4 css css-selectors css3
我试图选择除内部链接和链接和锚链接之外的所有链接(#)所以我想组合选择器,以便它们排除X,Y和Z.但是我无法弄清楚如何加入它们.
a:not([href*="myurl"]) { }
Run Code Online (Sandbox Code Playgroud)
这个CSS找到所有不包含'myurl'的链接,但是它然后找到mailto:和anchor(#)链接,我想从选择器中排除它.
我必须使用not选择器来查找我网站之外的所有网址,因为我无法在不使用not的情况下说出"我自己以外的所有网站".有没有办法可以让它变得像
a:not([href*="myurl OR # OR mailto"]) { }
Run Code Online (Sandbox Code Playgroud)
完整代码使用:hover和:after之后如果重要:
a:not([href*="myurl"]):hover:after { }
Run Code Online (Sandbox Code Playgroud)
这需要在CSS而不是jquery/javascript中完全完成.我无法在网址中添加类.
它可能吗?(跨浏览器并不重要.Chrome + Firefox就足够了)
我当前的工作是使用目标其他链接,not([href*="http:// "]) { }但这不是优选的,因为它意味着再次覆盖更改,这并不总是有效,因为一个可能已经color: red和另一个color: blue,我不能让它们回到原来的颜色(除其他原因外)
Bol*_*ock 13
您可以通过添加更多:not()选择器来排除它们:
a:not([href*="myurl"]):not([href*="#"]):not([href*="mailto"]) { }
Run Code Online (Sandbox Code Playgroud)
对于:hover:after州,只需将其添加如下:
a:not([href*="myurl"]):not([href*="#"]):not([href*="mailto"]):hover:after { }
Run Code Online (Sandbox Code Playgroud)
此外,由于这是CSS3,我建议你表示:after为::after使用双冒号代替,只是要清楚,你链接一个伪元素经过一系列伪类的,但它不是绝对必需的,无论你使用不会对浏览器产生影响:
a:not([href*="myurl"]):not([href*="#"]):not([href*="mailto"]):hover::after { }
Run Code Online (Sandbox Code Playgroud)