head 标签里有什么?

head 标签里有什么?

每一个 HTML 文档中,都有一个不可或缺的标签:<head> ,它作为一个容器,主要包含了用于描述 HTML 文档自身信息(元数据)的标签,这些标签一般不会在页面中被显示出来,大多情况下是给浏览器和搜索引擎看的。

可以用在 <head> 里面的标签有: <title> , <base> , <link> , <style> , <meta> , <script> , <noscript>

元信息标签介绍

<title>

定义文档的标题,显示在浏览器的标题栏或标签页上,一般会完整地概括整个网页的内容。

<base>

给页面上所有相对 URL 的提供一个基础。一份文档中只能有一个 <base> 标签。

目前我只观察到「淘宝网」使用了这个标签。

<link>

规定外部资源与当前文档的关系,常于链接样式表,如下所示:

<link rel="stylesheet" href="xxx.css" type="text/css">
复制代码

当然还有很多其他的作用:

  1. 比如用于 SEO,主要给搜索引擎看的:
<link rel="canonical" href="...">
复制代码

在网站中常有多个 url 指向同一个页面的情况,上述标签告知搜索引擎页面的主 url 是什么,以便搜索引擎保留主要页面而去除其他重复页面。

  1. 提供 rss 订阅的:
<link rel="alternate" type="application/rss+xml" title="RSS" href="...">
复制代码

上述标签除搜索引擎可以看懂以外,也能被很多浏览器插件识别。

  1. 表示页面 icon 的:
<link rel="icon" href="https://xxx.png">
复制代码

多数浏览器会读取这个 link 的资源并展示在页面上。

  1. 对页面提供预处理的:
<link rel="dns-prefetch" href="//xxx.com">
复制代码

提前对一个域名做 dns 查询。强制对域名进行预读取在有的情况下很有用,。

比如, 在网站的主页上,强制在整个网站上对频繁引用的域名做预解析处理,即使它们不在主页本身上使用。虽然主页的性能可能不受影响,但是会提高站点整体性能。

<style>

包含文档的样式信息。

<meta>

一种通用的元数据信息表示标签,一般以键值对出现,如:<meta name="xxx" content="yyy">

charset 属性

<meta charset="UTF-8">
复制代码

从 HTML5 开始,上述写法被推荐使用,用于声明当前文档所使用的字符编码,推荐放在 <head> 中的第一位。

http-equiv属性

<meta http-equiv="content-type" content="text/html; charset=UTF-8">
复制代码

在 HTML4 中,上述代码用于声明字符集,但是现在已不被推荐。

除了 content-type ,还有其他几个值:

content-language (已过时)、set-cookie (已过时)、default-style 、refresh 、content-security-policy

因为不常用,所以就不一一介绍了,也挺容易理解,感兴趣可以点击 这里 了解。

name 属性

其实 标签可以被自由定义,只要读取和写入的双方约定好 name 和 content 的格式就可以了。来看一个例子:

<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
复制代码

上面这种用法并不在 HTML 标准中,但是却移动端开发的事实标准。这里来解释一下 content 中的内容:

  • width :页面宽度,可以是一个正整数;也可以一个字符串 "device-width" ,表示跟设备宽度相等。
  • height :页面高度,可以是一个正整数;也可以一个字符串 "device-height" ,表示跟设备高度相等。
  • initial-scale :初始缩放比例。
  • minimum-scale : 最小缩放比例。
  • maximum-scale : 最大缩放比例。
  • user-scalable :是否允许用户缩放。

name 属性的值除了可以是 viewport 之外,还有相当多的值:

application-name 、author 、description 、generator 、keywords 、referrer 、robots 等。

同样的,就不一一介绍了,感兴趣可以点击 这里 了解。

<script>

用于嵌入或引用可执行脚本。来看几个 script 标签常见的全局属性:

  • async

    使浏览器使用另一个线程下载脚本,这时不会阻塞页面渲染。当脚本下载完成后,浏览器会暂停渲染,执行脚本,执行完毕后继续渲染页面。

    async 无法保证脚本的执行顺序,哪个脚本先下载结束就会先执行。

  • defer

    同样会使浏览器并行下载脚本,但是下载完毕不会立即执行,而是会等到 DOM 加载完成后(即刚刚读取完 </html> 标签)再执行脚本。

    defer 可以保证脚本的执行顺序就是它们在页面上出现的顺序。

  • src

    定义引用外部脚本的地址,指定此属性的 script 标签内不应再有嵌入的脚本。如果脚本文件使用了非英语字符,还应该注明字符的编码。如:

    <script charset="utf-8" src="https://www.example.com/script.js"></script>
    复制代码
  • type

    默认值是 text/javascript

想了解更多关于 <script> 标签的详细内容可以点击 这里

<noscript>

如果页面上的脚本类型不受支持或者当前在浏览器中关闭了脚本,则在此中定义脚本未被执行时的替代内容。

总结

本文到这里就结束了,其实关于 link 和 meta 标签还有很多没有介绍到,很多相关标签都是有特殊的需求,只有在特定情况下才会使用,比如移动端开发就会用许多在 PC 上并不需要的标签。

当然平时使用也主要是看需求,就拿我目前来说,只是些许用到过一些与 viewport 和 SEO 相关的标签。

鉴于此我推荐一个不错的学习方法,就是去各大网站查看它们的 head 标签里都有什么,遇到没见过的就去搜索一下,熟悉起来会很快。

我这边看过的网站有:「淘宝网」、「阿里巴巴」、「京东」、「网易严选」、「起点中文网」等。

(完)

<think>好的,我现在要回答用户关于HTML head标签内link标签的作用和使用说明的问题。首先,我需要回顾一下用户提供的参考资料,确保我的回答准确且符合引用内容。 根据引用[1],link标签用于链接外部资源,比如CSS样式表,并且有rel、href、type等属性。这提到的主要作用是建立HTML文档与外部资源的关联,尤其是样式表。引用[2]补充说link标签通常放在head部分,但也可以在body中使用,不过一般建议放在head。引用[3]详细解释了为什么link标签放在head之间,主要是为了在加载页面内容前先加载CSS,避免页面无样式闪烁。引用[4]则提到可以用JavaScript动态创建link标签添加到head中。 接下来,我需要将这些信息整理成一个结构清晰的回答。首先解释link标签的基本作用,然后列出常用属性,接着说明为什么通常放在head标签内,最后给出示例代码和使用注意事项。需要确保每个部分都正确引用对应的资料,比如在解释作用时引用[1][3],在说明位置时引用[2][3],动态创建时引用[4]。 还要注意用户可能关心的其他方面,比如属性介绍、示例代码以及常见问题。需要检查是否有遗漏的重要点,例如link标签的其他用途如favicon、预加载等,这在引用[1]中有提到,需要包含进去。另外,确保语法正确,比如使用$...$包裹属性名称如href,以及使用代码块展示示例。 最后,生成相关问题时要围绕link标签的作用、属性、最佳实践和动态操作等方面,帮助用户深入理解。比如优化加载速度的方法、与@import的区别、动态添加的注意事项等。</think>### HTML head 标签中 link 标签的作用及使用说明 #### 1. **基本作用** HTML 的 `<link>` 标签用于在文档头部(`<head>`)关联外部资源,最常见的作用是链接 **CSS 样式表**,也可用于定义网站图标(favicon)、预加载资源等[^1][^3]。 通过 `rel` 属性指定资源类型,`href` 属性定义资源路径。例如: ```html <link rel="stylesheet" href="styles.css"> ``` --- #### 2. **常用属性及说明** | 属性 | 作用 | |--------------|--------------------------------------------------------------------| | `rel` | 定义资源与文档的关系,如 `stylesheet`(样式表)、`icon`(图标)等 | | `href` | 指定外部资源的路径(必填) | | `type` | 规定资源的 MIME 类型(如 `text/css` 可省略)[^1] | | `media` | 指定样式表适用的设备类型(如 `screen`, `print`)[^1] | --- #### 3. **为什么通常放在 `<head>` 标签内?** - **避免页面渲染闪烁**:将 CSS 链接放在 `<head>` 中可确保浏览器在解析 HTML 内容前加载样式,防止用户看到未样式化的页面[^3]。 - **符合规范**:虽然 `<link>` 也可在 `<body>` 中使用,但头部是最佳实践位置[^2]。 --- #### 4. **示例代码** ##### 链接 CSS 文件 ```html <head> <link rel="stylesheet" href="style.css" type="text/css" media="screen"> </head> ``` ##### 定义网站图标 ```html <link rel="icon" href="favicon.ico" type="image/x-icon"> ``` ##### 动态添加 link 标签(通过 JavaScript)[^4] ```javascript const link = document.createElement('link'); link.rel = 'stylesheet'; link.href = 'dynamic.css'; document.head.appendChild(link); ``` --- #### 5. **注意事项** - **性能优化**:合理使用 `preload` 或 `prefetch` 属性可加速关键资源加载。 - **多用途扩展**:`<link>` 还可用于 RSS 订阅、字体加载等场景(如 `rel="alternate"`)。 --- §§ 1. 如何通过 `<link>` 标签优化网页加载速度? 2. `<link>` 标签与 `@import` 引入 CSS 的区别是什么? 3. 动态添加 `<link>` 标签时需要注意哪些问题?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值