1 前端需要学习的内容

  • 根据W3C标准,一个网页主要由三部分组成:结构(HTML)、表现(CSS)和行为(JavaScript)。
  • 结构:HTML用来描述页面的结构。
  • 表现:CSS用于控制页面中元素的样式。
  • 行为:JavaScript用于响应用户的操作。

2 HTML简介

2.1 概念

  • HTML,超文本标记语言。
  • 它负责网页三要素之中的结构。
  • HTML使用标签的形式来识别网页中的不同组成部分。
  • 所谓的超文本指的是超链接,使用超链接可以让我们从一个页面跳转到另一个页面。

2.2 HTML的标准结构

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


</body>
</html>

2.3 标签

  • HTML中的标记指的就是标签。
  • HTML使用标记标签来描述网页。
  • 语法:
<标签名>标签内容</标签名><标签名/>

2.4 元素

  • 将一个完整的标签称为元素。
  • 我们可以将元素和标签认为是一个同义词。
  • 比如:
<!-- h1我们就称为一个元素  -->
<
h1>一级标题</h1>
<!--  p是一个元素,em是p的子元素,p是em的父元素 -->
<p>我是一个<em>段落</em>标签</p>
<!-- body是一个元素,body是p和em的祖先元素,p和em是body的后代元素 -->
<body>
<p>我是一个<em>段落</em>标签</p>
</body>

2.5 注释

  • HTML注释中的内容不会显示到网页中。
  • 格式:
<!-- 注释内容 -->
  • 合理的使用注释可以帮助开发人员理解网页的代码。
  • 注释不能嵌套。

2.6 属性

2.6.1 概念

  • 可以为HTML标签设置属性。
  • 通过属性为HTML元素提供附加信息。
  • 属性需要设置在开始标签或自结束标签中。
  • 属性总是以名称/值对的形式出现。
  • 格式:
name = "value"
  • 有些属性可以是任意值,有些则必须是指定值。
<h1 title="我是一个标题">标题</h1>

<img src="" alt=""/>

2.6.2 常见属性

  • id属性:id属性作为标签的唯一标识,在同一个网页中不能出现相同的id属性值。
  • class属性:class属性用来为标签分组,拥有相同class属性的标签我们认为就是一组,可以出现相同的class属性,可以为一个元素指定多个class属性。
  • title属性:title属性用来指定标签的标题,指定title后,鼠标移入到元素上方的时候,会出现提示文字。

3 HTML的发展

3.1 HTML的发展历史

  • 1993年6月,HTML第一个版本发布。
  • 1995年11月,HTML2.0。
  • 1997年1月,HTML3.2(W3C推荐)。
  • 1999年12月,HTML4.01(W3C推荐)。
  • 2000年底,XHTML1.0(W3C推荐)。
  • 2014年10月,HTML5(W3C推荐)。

3.2 文档声明

  • HTML总共有那么多的版本,而且这其中至少有三个版本在广泛使用,那么浏览器怎么知道我们在使用哪个版本呢?
  • 为了让浏览器知道我们使用的HTML版本,我们还需要在网页的最上边添加一个doctype声明,来告诉浏览器网页的版本。

3.2.1 HTML4

  •  过渡版

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
  •  严格版

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
  • 框架集
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">

3.2.2 XHTML1.0

  • 过渡版

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • 严格版

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  • 框架集

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

3.2.3 HTML5

  • 我们会发现HTML4.01和XHTML的文档声明十分的麻烦。不过不用担心,我们使用的HTML5的文档声明,使用简单。
<!DOCTYPE html>

3.2.4 怪异模式

  • 为了兼容一些旧的页面,浏览器中设置了两种解析模式:标准模式和怪异模式。
  • 怪异模式解析网页的时候会产生一些不可预期的行为,所以我们应该避免怪异模式的出现。
  • 避免怪异模式出现的最好方式就是在页面中编写正确的文档声明。

4 编码问题

4.1 编码问题的由来

  • 在计算机的内部,文件都是以二进制编码保存的。
  • 所谓的二进制编码指的就是0和1,也就是我们的所有内容都需要转换为0或1。
  • 中国这两个字在计算机底层保存的可能要转换为10100101这种二进制码,这一过程称为编码。
  • 计算机在读取文件的时候需要将10100101在转换为中国给我们显示,这一过程称为解码。

4.2 字符集

  • 这样带来一个问题,中国到底是10100101还是01011010到底是由谁来决定。
  • 我们需要一个东西称为字符集,字符集规定了如何将文本转换为二进制编码。
  • 常见的字符集:ASCII、ISO8859-1、GBK、GB2312、UTF-8。

4.3 乱码

  • 如果我们保存文件的时候使用的是UTF-8编码,而浏览器读取页面的时候使用的编码时GBK,这样会导致页面中的内容不能正常显示,这样的现象我们称为乱码。
  • 所以我们只需要统一编码和解码的字符集就可以解决乱码这一问题。
  • 为了页面具有更好的使用性,我们一般使用UTF-8。

4.4 解决

  • 保存文件的编码我们直接通过编辑器即可完成指定,接下来就需要告诉浏览器使用什么字符集去解析问题。
  • 在HTML5中只需要使用meta白哦钱即可完成这个任务:
<meta charset="UTF-8"/>
  • <meta/>标签作用:
  • ①<meta>标签可以提供有关页面的元信息,比如针对搜索引擎和更新频度的描述和关键词。
  • ②<meta>标签位于文档的头部,不包含任何内容。<meta>标签的属性定义了和文档相关联的名称/值对。
  • <meta/>标签的用法:
    • 设置页面的字符集:  
<meta charset="UTF-8">
    • 设置网页的描述:  
<meta name="description" content="网页的描述"/>
    • 设置网页的关键字:  
<meta name="keywords" content="不告诉你什么关键字,比如Java、HTML"/>
    • 设置请求的重定向:  
<!--  http-equiv="refresh"表示请求重定向,content="5;URL=https://www.baidu.com"表示5秒后将重定向到百度页面   -->
<meta http-equiv="refresh" content="5;URL=https://www.baidu.com"/>

5 常见标签

5.1 <html>标签

  •  作用:<html>标签用于告诉浏览器这个文档中包含的信息是HTML编写的。
  • 用法:
  • ①所有的网页的内容都需要编写在HTML标签中,一个页面中HTML标签只能有一个。
  • ②HTML标签中有两个子标签<head>和<body>。

5.2 <head>标签

  • 作用:<head>标签用来表示网页的元数据,<head>中包含了浏览器和搜索引擎使用的其他不可见信息。  
  • 用法:<head>标签作为<html>标签的子元素出现,一个网页中只能有一个<head>标签。

5.3 <title>标签

  • 作用:
  • ①<title>标签表示网页的标题,一般会在网页的标题栏显示。
  • ②<title>标签中的文字,是页面优化的最重要因素。在搜索引擎搜索的时候是最先看到和最醒目的内容。  
  • 用法:
  • ①建议将<title>标签紧贴着<head>标签编写,这样搜索引擎可以快速检索到标题标签。
  • ②网站中的多个页面的title也不应该重复,这样不利于搜索隐藏检索。

5.4 <body>标签

  • 作用:<body>标签用来设置网页的主体,所有在页面中能看到的内容都应该编写到<body>标签中。
  • 用法:<body>标签作为<html>的子标签使用。

5.5 <h1>~<h6>标签

  •  作用:
  • ①<h1>~<h6>都是网页中的标题标签,用来表示网页中的标题,不同的是,从<h1>到<h6>的重要性越来越低。
  • ②标题标签相当于正文的标题,通常认为重要性仅次于页面的<title>标签。
  • ③一般标题标签我们只会使用到<h3>,<h3>以后的标题标签对于搜索引擎就没有什么意义了。
  • ④一个页面中只会使用一个<h1>标签。
  • 示例:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>常用的标签</title>
</head>
<body>

<h1>h1标签</h1>
<h2>h2标签</h2>
<h3>h3标签</h3>
<h4>h4标签</h4>
<h5>h5标签</h5>
<h6>h6标签</h6>

</body>
</html>

5.6 <p>标签

  • 作用:
  • ①<p>标签表示网页中的一个段落。
  • ②一般浏览器会在段落的前和后各加上一个换行,也就是段落会在页面中自成一行。
  • 示例:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>常用的标签</title>
</head>
<body>

<p>我是一个p标签,我表示一个段落</p>
<p>我是一个p标签,我表示一个段落</p>
<p>我是一个p标签,我表示一个段落</p>

</body>
</html>

5.7 <br/>标签

  • 作用:<br/>标签表示一个换行标签,使用<br/>标签可以使得<br/>标签后的内容另起一行。
  • 示例:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>常用的标签</title>
</head>
<body>

<p>
    锄禾日当午,<br/>
    汗滴禾下土。<br/>
    谁知盘中餐,<br/>
    粒粒皆幸苦。<br/>
</p>

</body>
</html>

5.8 <hr/>标签

  • 作用:<hr/>标签是水平线标签,使用hr标签可以在页面中打印一条水平线,水平线可以将页面分为上下两个部分。

5.9 <img />标签

  • 作用:<img />标签来向网页中引入一张图片,<img />标签是一个自结束标签。
  • 属性:
    • src:设置一个外部图片的路径。
    • alt:可以用来设置在图片不能显示的时候,对图片的描述。搜索引擎可以通过alt属性来识别不同的图片,如果不写alt属性,则搜索引擎不会对img中的图片进行收录。
    • width:可以用来修改图片的宽度,一般使用px作为单位。
    • height:可以用来修改图片的高度,一般使用px作为单位。width和height如果只设置一个,另一个也会同时等比例调整大小。  
  • 示例:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>常用的标签</title>
</head>
<body>

<img src="img.jpg" alt="这是一张图片" width="500px">

</body>
</html>

6 实体(转义字符)

6.1 概述

  • 在HTML中预留了一些字符。
  • 这些预留字符是不能在网页中直接使用的。
  • 比如<和>,我们不能直接在页面中适用<和>,因为浏览器会将它解析为HTML标签。
  • 为了可以使用这些预留字符,我们必须在HTML中适用字符实体。
  • 语法:
&实体名;

6.2 应用示例

  • 示例:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>常用的标签</title>
</head>
<body>

小于号:&lt;<br/>
大于号:&gt;<br/>
空格: &nbsp;<br/>
和符号& : &amp;<br/>
版权号:&copy;<br/>
引号:&quot;<br/>
注册商标: &reg;<br/>
商标: &trade;<br/>

</body>
</html>
02-13 06:05