在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
的末尾 。