在VS code中写html文档时,一般会先用快捷方式生成html的基本框架,即html模版。这些自动生成的标签,比较多地出现在head
内,好多老师讲解的时候都会让我们先不用管这些代码,但是自己又很好奇,所以搜集了一些资料,毕竟知识之间都是有联系的,一个很细微的点深究下去可能都是无底洞,所以现做如下整理,当然若以后有了更多了解还会再做补充:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" media="screen" href="main.css">
<script src="main.js"></script>
</head>
<body>
</body>
</html>
<!DOCTYPE>标签
- <!DOCTYPE>标签位于文档的开头,用于向浏览器说明html或xhtml文档使用的是哪一版本;
- 目前html的最新版本是html5,但是还处于发展完善过程中,xhtml算是html的过渡
- 使用html5写
<!DOCTYPE html>
<meta>标签
- <meta>标签(元数据标签)嵌套在<head> </head>中,用于添加页面的元信息(meta-information);在html中<meta>标签不用闭合,但是在xhtml中需要闭合;
- <meta>标签的属性有http-equiv、name和content等,并且content一定要始终和http-equiv或name属性配合使用;
<meta charset="utf-8">
,charset属性是html5的新属性,定义了html文件中的字符编码,替换了<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
,但是现在仍然可以使用老方法,用http-equiv属性定义字符编码方式,但是新方法减少了代码的书写量<meta http-equiv="X-UA-Compatible" content="IE=edge">
,X-UA-Compatible属性用于对网页兼容性模式进行设置,其content值IE=edge表示以目前最高版本的IE引擎对页面进行渲染,此外,X-UA-Compatible属性是IE8时引入的,所以IE8一下的浏览器对其并不支持<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
,相比上一条语句多了个chrome=1,是指,在安装了GCF(GoogleChromeFrame)的情况下,优先使用chrome引擎渲染页面,没有安装GCF的话就使用当前最高版本的IE引擎渲染<meta name="viewport" content="width=device-width, initial-scale=1">
<head> </head>标签
- <head></head>标签用于存放meta、link、script、title、style、base标签,总之,<head></head>标签中存放的都是帮助浏览器理解的内容
- 其中<title> 标签是<head>中唯一不可缺少的标签;<title> 标签中的文本会在页面显示时,作为整个页面的标题出现在浏览器窗口顶部的标题栏中。
索引擎会给<title>标签中的文字内容赋予很高的权重。而且这些文字也会作为网页标题出现在搜索结果列表中。为此,千万不要让那些“欢迎光临我的网页!”之类的废话占据你的<title>标签。一定要让这些文字简洁明确,而且包含目标读者在搜索你的网页内容时会使用的关键词。——《CSS设计指南(第三版)》
<link>标签
- <link>标签最常见的用途就是链接外部样式表stylesheet,它用于规定文档与外部文档的关系;此外,它是空标签,即只包含属性信息,并且它只出现在head范围内,head中唯一一个非空的标签就是<title></title>了;
<link rel="stylesheet" type="text/css" media="screen" href="main.css">
,rel属性用于说明外部文档与当前文档之间的关系;type属性用于规定外部文档的MIME类型,css的MIME类型是"text/css";href属性表示被链接的外部文档的地址;media属性表示被链接文档将会被显示在什么设备上;- 关于MIME类型,它的全称是
Multipurpose Internet Mail Extention
,即多用途电子邮箱拓展。其实最初的电子邮箱只能进行英文文本信息(ASCII)的传输,既不能使用其他语言文字符号,也不能是图片啊,音视频啊等其他类型的信息,也不能添加附件,所以便有了这个协议来进行类型拓展,使邮件客户端能够针对不同类型的传输数据分类处理。但是,这个关于电子邮箱传递信息类型的扩展和网页和HTML有什么关系呢?是的,这个MIME类型后来被用到了浏览器上,浏览器会按照接收信息的MIME类型,调用不同的组件进行处理。此外,HTML,CSS和JavaScript都属于是文本类型的信息,它们的MIME类型分别是:text/css
,text/html
,text/javascript
。关于MIME类型更详细的解释可以参考:HTTP协议扫盲(四)HTTP协议进阶 - MIME类型 - 长安快马 - 博客园
<script></script>标签
<script src="main.js"></script>
- <script>标签常用于规定页面的脚本,其中脚本语句可以写在<script></script>中也可以通过src属性,定义外部脚本的地址进行引入;type属性之前是必须属性但是在html5中不是,它用于规定脚本的MIME类型,JavaScript的MIME类型是"text/javascript"
xhtml的xmlns属性
- xmlns属性是xhtml的命名空间属性,当编写具有xml特性的xhtml文档时,需要在html头标签中加入该属性;但是,对于xhtml文档的html标签来说,xmlns属性是默认属性,固定为
<html xmlns="http://www.w3.org/1999/xhtml">
,即使只写<html>
也没关系; - xmlns后面的那一串网址是什么
eg:<html xmlns="http://www.w3.org/1999/xhtml">
?xmlns属性的值只需要是一个全局唯一的字符串就可以了,用于标记所对应的元素(html中,元素是指一对标签中间的内容,xml中元素就是指的标签),但是这个全局唯一的字符串经常用一个网址表示,所以xmlns属性后面的一串网址就把它当成是字符串就好了。
xml的命名空间
xml/html/xhtml
- xml(extensible mark-up language)可扩展标记语言
- html(hypertext mark-up language)超文本标记语言
- xhtml(extensible hypertext mark-up language)可扩展超文本标记语言