在css中使用target =“_ blank”

我在我的网站的顶部菜单中有外部链接。 我想在新标签中打开这些链接。 我可以在HTML中使用“target = _blank”来实现它。 有没有类似的CSS属性或其他?

很不幸的是,不行。 在2013年,纯粹的CSS没有办法做到这一点。


更新 :感谢showdev链接到CSS3超链接过时的规范,是的,没有浏览器已经实现了它。 所以答案仍然有效。

正如c69所提到的,没有办法用纯CSS来完成。

但是您可以使用HTML代替:

使用

 <head> <base target="_blank"> </head> 

在您的HTML <head>标记中,默认情况下,使所有包含target属性的页面链接在新的空白窗口中打开。 否则你可以像这样设置每个链接的目标属性:

  <a href="/yourlink.html" target="_blank">test-link</a> 

它会覆盖

 <head> <base target="_blank"> </head> 

标记,如果它以前定义。

另一种使用target="_blank"是:

 onclick="this.target='_blank'" 

例:

 <a href="http://www.url.com" onclick="this.target='_blank'">Your Text<a> 

CSS可以通过几种方式“定位”导航。 这将风格的内部和外部链接使用属性样式,这可能有助于告诉访问者你的链接将做什么。

 a[href="#"] { color: forestgreen; font-weight: normal; } a[href="http"] { color: dodgerblue; font-weight: normal; } 

您还可以定位传统的内联HTML“target = _blank”。

 a[target=_blank] { font-weight: bold; } 

另外:目标select器风格导航块和元素目标 。

 nav { display: none; } nav:target { display: block; } 

CSS:支持目标伪类select器 – caniuse , w3schools , MDN 。

 a[href="http"] { target: new; target-name: new; target-new: tab; } 

CSS / CSS3“ 目标新 ”属性等,不受任何主stream浏览器支持,2017年8月,虽然它是自2004年2月以来W3规范的一部分。

W3Schools的“模式”build设 ,使用“目标”可能包含WP导航的伪类。 你也可以在target =“_ blank”旁边添加HTML rel =“noreferrer和noopener来改善”新标签“的性能。现在CSS不会在标签页中打开链接,但是这个页面解释了如何用jQuery来做这些事情(兼容性可能取决于WP编码器 )。

这实际上是JavaScript,但相关/相关,因为.querySelectorAll目标的CSS语法:

 var i_will_target_self = document.querySelectorAll("ul.menu li a#example") 

这个例子使用css在id =“example”的菜单中定位链接

创build一个variables,它是我们想要改变的元素的集合,但是我们仍然通过设置新的目标(“_blank”)来改变它们:

 for (var i = 0; i < 5; i++) { i_will_target_self[i].style.target = "_blank"; } 

该代码假定有5个或更less的元素。 这可以通过改变短语“我<5”而轻易改变。

在这里阅读更多: http : //xahlee.info/js/js_get_elements.html

在等待采用CSS3定位的同时…

在等待主要浏览器采用CSS3定位的同时,一旦创build了(X)HTML,就可以运行下面的sed命令:

 sed -i 's|href="http|target="_blank" href="http|g' index.html 

它会将target="_blank"添加到所有外部超链接。 变化也是可能的。

编辑

我使用这个在生成我的网站上的每个网页的makefile的末尾 。