base標籤css
<base href="../">
咱們並不經常使用的一個標籤,可是一旦用得不當會帶來災難性的影響。html
它會影響到全部頁面上的href和src屬性相對路勁的定位:vue
例如:node
<!-- ./1.css 會被理解爲 ../1.css --> <link rel="stylesheet" href="./1.css"> <!-- 2.mp4 會被理解爲 ../2.mp4 --> <video src="2.mp4"></video> <!-- ../3.mp3 會被理解爲 ../../3.mp3 --> <audio src="../3.mp3"></audio> <!-- 像下面這2種絕對路徑就不會受影響 --> <a href="/aaa"></a> <script src="D:///desk/test/node_modules/vue/dist/vue.js"></script>
值得注意的是: base標籤不會影響連接內部的路徑chrome
例如base href是「../」,link標籤引入了1.css,1.css有引入其餘樣式文件:瀏覽器
@import: url("../2.css")
這個時候,../2.css 不是被理解成 ../../2.css,而是理解爲相對於1.css的../2.css安全
meta標籤cookie
平常開發中咱們用得更多的是meta標籤,分爲3類編輯器
1. 具備charset屬性的metaide
<meta charset="UTF-8">
通常Response Header都會有,所以這個meta不是寫了就必定會生效
content-type: text/html; charset=utf-8
它會在HTTP Response Header沒帶上編碼的時候 或者本地打開HTML文件(file:///..)時 生效
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
它的做用至關於在HTML裏面書寫Response Header
上面這個例子至關於添加了 content-type 這個 HTTP Response 頭,而且指定了 http 編碼方式爲 UTF-8
值得注意的是,這個和 meta charset是等價的,若是同時存在,誰先出現,瀏覽器就採用誰
http-equiv還有如下幾種:
<meta http-equiv="Content-Language" content="zh-cn">
若是link標籤帶有title,則會默認選擇帶有title的link的第一個生效,若是有這個meta default-style,則按照這個content來默認選擇
<meta http-equiv="default-style" content="xxx2"> <link rel="stylesheet" href="1.css" title="xxx"> <link rel="stylesheet" href="2.css" title="xxx2">
順帶一提firefox支持樣式切換選擇(demo)
<meta http-equiv="refresh" content="5; http://www.qq.com">
<meta http-equiv="set-cookie" content="age=23"> <meta http-equiv="set-cookie" content="name=david">
3. 最多見的meta,帶有content、name屬性的meta標籤
<meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
它用於定義一些網頁的元信息,除了比較特殊的viewport、referrer外,每每不會對頁面功能有影響,更可能是用做優化SEO: