<base> 标签为页面上的所有的相对链接规定默认 URL 或默认目标。
在一个文档中,最多能使用一个 <base> 元素。<base> 标签必须位于 <head> 元素内部。
在 HTML 中,<base> 标签没有结束标签。
在 XHTML 中,<base> 标签必须被正确地关闭。
如果base标签指定了目标,浏览器将通过这个目标来解析当前文档中的所有相对路径,包括的标签有(a、img、link、form),也就是说,浏览器解析时会在路径前加上base给的目标,而页面中的相对路径也都转换成了绝对路径。使用了base标签就应带上href属性和target属性。
target属性是网页窗口的打开方式,在base标签中设置该属性,那么页面中所有的链接都将遵循这个方式来打开网页,分别有如下几种选择:
1. _blank:在新窗口打开链接页面。
2. _parent:在上一级窗口中打开链接。
3. _self: 在当前窗口打开链接,此为默认值,可以省略。
4. _top: 在浏览器的整个窗口打开链接,忽略任何框架。
base标签是我们并不常用的一个标签,但是一旦用得不当会带来灾难性的影响。它会影响到所有页面上的href和src属性相对路劲的定位。例如:
如果定义了:<base href="../">
<!-- ./1.css 会被理解为 ../1.css -->
<link rel="stylesheet" href="./1.css" >
例如base href是“../”,link标签引入了1.css,1.css有引入其他样式文件:
@import: url("../2.css")
这个时候,../2.css 不是被理解成 ../../2.css,而是理解为相对于1.css的../2.css 。