CSS样式表中怎么定义网页所有链接都在新窗口中打开?

html-css011

CSS样式表中怎么定义网页所有链接都在新窗口中打开?,第1张

1. 所以一开始通过js来加:

function addTarget(){

var tag_a = document.getElementsByTagName('a')

for (var i = tag.length - 1 i >= 0 i--) {

tag_a[i].setAttribute("target","_blank")

}

}

window.onload = addTarget()

但不知为何无法生效。

2. 然后就想到可以通过设置css来使默认的a都自带target属性,即:

a {

target : _blank

}

发现也行不通。原因是css中没有target属性,不能直接在css中这样写。

3. 最后查资料,发现可以在head标签中加入:

<base target="_blank" />

css不能设置链接是否新开窗口,新开窗口是链接的target属性 target="_blank"为新开窗口

要么手动加,要么用javascript来加上这个属性,要么在页面里面加一句<base target="_blank" />所有连接都新开窗口

改成这样:

<html>

<head>

<title>电子相册</title>

<script language="javascript">

function showxi(){

var obj=document.getElementById("csslinkid1")

obj.href="11-6catalog.css"

obj.target="_blank"

}

function showppt(){

var obj=document.getElementById("csslinkid2")

obj.href="11-6ppt.css"

obj.target="_blank"

}

</script>

</head>

<body>

<a href="#" onclick="showxi()" id="csslinkid1">详细信息</a>

<a href="#" onclick="showppt()" id="csslinkid2">幻灯片模式</a>

<!--html具体内容-->

<!--html具体内容-->

<!--html具体内容-->

</body>

</html>

从你的意思来看,我觉得把外部CSS写在新窗口的<link>标签里最好。这样的话,可以改成这样:

function showxi(){

var obj=document.getElementById("csslinkid1")

obj.href="新窗口页面2.htm"

obj.target="_blank"

}

function showppt(){

var obj=document.getElementById("csslinkid2")

obj.href="新窗口页面2.htm"

obj.target="_blank"

}

然后你再在

“新窗口页面1.htm”中加入:

<link rel="stylesheet" type="text/css" href="11-6catalog.css" />

“新窗口页面2.htm”中加入:

<link rel="stylesheet" type="text/css" href="11-6ppt.css" />

这样似乎能达到你的要求。