HTML简介

HTML语音简介

HTML:超为本传输协议,特点:支持超链接,可以跳转到其他网页,构建互联网。

浏览器网页开发涉及技术:HTML,CSS,Javascript。

HTML:定义网页结构和内容;

CSS:定义网页样式;

JavaScript:定义网页与用户的交互。

一、HTML简介

  • 标签:告诉浏览器如何处理这段代码;

标签内容:需要展示渲染在网页上的内容;

标签名是大小写不敏感,比如<title><TITLE>是同一个标签。不过,一般习惯都是使用小写。

HTML 语言忽略缩进和换行。

  • 元素

浏览器渲染网页的时候,会把 HTML 源码解析成一个标签树,每个标签都是一个节点(node),称为网页元素(element)。所以,“标签”和“元素”基本上是同义词,只是使用的场合不一样:标签是源码角度来看,元素是从编程角度来看,比如<p>标签对应网页的p元素。

嵌套的标签就构成了网页元素的层级关系。

所有元素可以分成两大类:块级元素(block)和行内元素(inline)。块级元素默认占据一个独立的区域,在网页上会自动另起一行,占据 100% 的宽度。

<p>hello</p>
<p>world</p>

上面代码中,p元素是块级元素,因此浏览器会将内容分成两行显示。

行内元素默认与其他元素在同一行,不产生换行。比如,span就是行内元素,通常用来为某些文字指定特别的样式。

<span>hello</span>
<span>world</span>

上面代码中,span元素是行内元素,因此浏览器会将两行内容放在一行显示。

  • 属性

属性(attribute)是标签的额外信息,使用空格与标签名和其他属性分隔。

<img src="demo.jpg" width="500">

上面代码中,<img>标签有两个属性:srcwidth

属性可以用等号指定属性值,比如上例的demo.jpg就是src的属性值。属性值一般放在双引号里面,这不是必需的,但推荐总是使用双引号。

注意,属性名是大小写不敏感的,onclickonClick是同一个属性。

 

  • 网页基本标签

符合语法标准的网页,应该满足下面的基本结构。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title></title>
</head>
<body>
</body>
</html>

不管多么复杂的网页,都是从上面这个基本结构衍生出来的。

注意,HTML 代码的缩进和换行,对于浏览器不产生作用。所以,上面的代码完全可以写成一行,渲染结果不变。上面这样分行写,只是为了提高可读性。

  1. 1 <!doctype>

网页的第一个标签通常是<!doctype>,表示文档类型,告诉浏览器如何解析网页。

一般来说,只要像下面这样,简单声明doctypehtml即可。浏览器就会按照 HTML5 的规则处理网页。

<!doctype html>

有时,该标签采用完全大写的形式,以便区别于正常的 HTML 标签。因为<!doctype>本质上不是标签,更像一个处理指令。

<!DOCTYPE html>
  1. <html>

<html>标签是网页的顶层容器,也称为根元素(root element),其他元素都是它的子元素。一个网页只能有一个<html>标签。

该标签的lang属性,表示网页内容默认的语言。

<html lang="en">

上面代码表示,网页的语言是英语。

  1. 3 <head>

<head>标签是一个容器标签,用于放置网页的元信息。它的内容不会出现在网页上,而是为网页渲染做准备。

<!doctype html>
<html>
  <head>
    <title>网页标题</title>
  </head>
</html>

<head><html>的第一个子元素。如果网页不包含<head>,浏览器会自动创建一个。

<head>的子元素一般有下面七个,后文会一一介绍。

  • <meta>:设置网页的元数据。
  • <link>:连接外部样式表。
  • <title>:设置网页标题。
  • <style>:放置内嵌的样式表。
  • <script>:引入脚本。
  • <noscript>:浏览器不支持脚本时,所要显示的内容。
  • <base>:设置网页内部相对 URL 的计算基准。

<meta>

<meta>标签用于设置或说明网页的元数据,必须放在<head>里面。一个<meta>标签就是一项元数据,网页可以有多个<meta>

(1)name 属性,content 属性

<meta>name属性表示元数据的名字,content属性表示元数据的值。

<head>
  <meta name="description" content="HTML 语言入门">
  <meta name="keywords" content="HTML,教程">
  <meta name="author" content="张三">
</head>

上面代码包含了三个元数据:description是网页内容的描述,keywords是网页内容的关键字,author是网页作者。

元数据有很多种,大部分涉及浏览器内部工作机制,或者特定的使用场景,这里就不一一介绍了。

(2)charset 属性

<meta>还有一个charset属性,指定网页内容的编码方式,该属性非常重要。如果设置得不正确,浏览器可能无法正确解码,就会出现乱码。

<meta charset="utf-8">

上面代码声明,网页为utf-8编码。虽然可以使用其他的编码方式,但基本上总是应该采用 UTF-8。

注意,声明的编码方式,应该与网页实际的编码方式一致,即声明了utf-8,网页就应该使用 UTF-8 编码保存。

<title>

<title>标签用于指定网页的标题,会显示在浏览器窗口的标题栏。

<head>
  <title>网页标题</title>
</head>

搜索引擎根据这个标签,显示每个网页的标题。它对于网页在搜索引擎的排序,有很大的影响,应该精心安排,反映网页的主题。

<title>标签的内部,不能再放置其他标签,只能放置无格式的纯文本。

<body>

<body>标签是一个容器标签,用于放置网页的主体内容。浏览器显示的页面内容,都是放置在它的内部。它是<html>的第二个子元素,紧跟在<head>后面。

<html>
  <head>
    <title>网页标题</title>
  </head>
  <body>
    <p>hello world</p>
  </body>
</html>

空格和换行

HTML 语言有自己的空格处理规则。标签内容的头部和尾部的空格,一律忽略不计。

<p>  hello world   </p>

上面代码中,hello前面的空格和world后面的空格,浏览器一律忽略不计。

标签内容里面的多个连续空格(包含制表符\t),会被浏览器合并成一个。

<p>hello      world</p>

上面代码中,helloworld之间有多个连续空格,浏览器会将它们合并成一个。网页渲染的结果是,helloworld之间只有一个空格。

浏览器还会将文本里面的换行符(\n)和回车符(\r),替换成空格。

<p>hello



world
</p>

上面代码中,helloworld之间有多个换行,浏览器会将它们替换成空格,然后再将多个空格合并成一个。网页渲染的结果是,helloworld之间有一个空格。

这意味着,HTML 源码里面的换行,不会产生换行效果。

注释

HTML 代码可以包含注释,浏览器会自动忽略注释。注释以<!--开头,以-->结尾,下面就是一个注释的例子。

<!-- 这是一个注释 -->

注释可以是多行的,并且内部的 HTML 都不再生效了。

<!--
  <p>hello world</p>
-->

上面代码是一个注释的区块,内部的代码都是无效的,浏览器不会解析,更不会渲染它们。

注释有助于理解代码的含义,复杂的代码块前面最好加上注释。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章