HTML 30分钟入门教程
2022-12-01 19:36:00

什么是 HTML

  • 超文本标记语言 (Hyper Text Mark-up Language, HTML)
  • 它规定了自己的语法规则,用来表示比“文本”更丰富的意义,比如图片,表格,链接等。
  • 浏览器(IE,FireFox等)软件知道HTML语言的语法,可以用来查看HTML文档。目前互联网上的绝大部分网页都是使用HTML编写的。

HTML是什么样的

  • 简单地来说,HTML的语法就是给文本加上表明文本含义的标签(Tag),让用户(人或程序)能对文本得到更好的理解。
1
2
3
4
5
6
7
8
<html>  
  <head>
    <title>第一个Html文档</title>
  </head>
  <body>
    欢迎访问<a href="https://deerchao.cn">deerchao的个人网页</a>!
  </body>
</html>
  • 所有的HTML文档都应该有一个<html>标签,<html> 标签可以包含两个部分: <head><body>
  • <head> 标签用于包含整个文档的一般信息,比如文档的标题 <title>,对整个文档的描述,文档的关键字等等。文档的具体内容就要放在 <body> 标签里了。
  • <a> 标签用于表示链接,在浏览器(如IE,Firefox等)中查看HTML文档时,点击 <a> 标签括起来的内容时,通常会跳转到另一个页面。这个要跳转到的页面的地址由 <a> 标签的 href 属性指定。上面的 <a href="https://deerchao.cn"> 中,href属性的值就是https://deerchao.cn。

HTML文档可以包含的内容

  • 文本: HTML对文本的支持是最丰富的,你可以设置不同级别的标题,分段和换行,可以指定文本的语义和外观,可以说明文本是引用自其它的地方,等等等等。
  • 链接: 链接用来指出内容与另一个页面或当前页面某个地方有关。
  • 图片: 图片用于使页面更加美观,或提供更多的信息。
  • 列表: 列表用于说明一系列条目是彼此相关的。
  • 表格: 表格是按行与列将数据组织在一起的形式。也有不少人使用表格进行页面布局。
  • 表单: 表单通常由文本输入框,按钮,多选框,单选框,下拉列表等组成,使HTML页面更有交互性。
  • 框架: 框架使页面里能包含其它的页面。

HTML文档格式详细说明

  • 在HTML文本中,用尖括号括起来的部分称为标签。如果想在正文里使用尖括号(或者大与号小与号,总之是同一个东西),必须使用字符转义,也就是说转换字符的原有意义。< 应该使用 &lt;代替,> 则使用 &gt;,至于 & 符号本身,则应该使用 &amp; 替代(不得不说的是有很多HTML文档没有遵循这个规则,常用的浏览器也都能够分析出&到底是一个转义的开始,还是一个符号,但是这样做是不推荐的)。
  • 标签本质上是对它所包含的内容的说明,可能会有属性,来给出更多的信息。比如 <img> (图片)标签有 src 属性(用于指明图片的地址),widthheight 属性(用于说明图片的宽度和高度)。HTML里能使用哪些标签,这些标签分别可以拥有哪些属性,这些都是有规定的,知道了这里说的基本知识之后,学习HTML其实也就是学习这些标签了。本文后面会对常用的HTML标签做出简短的介绍。
  • 标签通常有开始部分和结束部分(也被称为开始标签和结束标签),它们一起限定了这个标签所包含的内容。属性只能在开始标签中指定,属性值可以用单引号或双引号括起来。结束标签都以斜杠 / 加上标签名来表示。有时候,有些标签并不包含其它内容(只包括自己的属性,甚至连属性都没有),这种情况下,可以写成类似这样:<img src="logo.gif" />。注意最后的一个空格和一个反斜杠,它说明这个标签已经结束,不需要单独的结束标签了。
  • 某些标签包含的内容中还可以有新的标签,新的标签名甚至可能还可以与包含它的标签的名称相同(哪些标签可以包含标签,可以包含哪些标签也是有规定的)。比如说在 <div></div> 内再嵌套一个 <div></div> 在这种情况下,最后出现的标签应该最先结束。
  • TML文档里所有的空白符(空格,Tab,换行,回车)会被浏览器忽略,唯一的例外是空格,对空格的处理方式是所有连续的空格被当成一个空格,不管有一个,还是两个,还是100个。之所以有这样的规则是因为忽略空白符能让使用HTML的作者以他觉得最方便的格式来排列内容,比如可以在每个标签开始后增加缩进,标签结束后减少缩进。由于英语文本中空格用得很普遍(用于分隔单词),所以对空格做了这样的特殊处理。如果要显示连续的空格(比如为了缩进),应该用 &nbsp; 来代表空格。

常用标签介绍

文本

  • 使用 <font> 标签可以改变字体, 字号, 文字颜色
1
2
3
4
<font size="6">6</font>
<font size="4">4</font>
<font color="red" size="5">红色的5</font>
<font face="黑体">黑体的字</font>
  • 使用 <b> 加粗字体, <i> 斜体, <u> 下划线
1
2
3
<b>Bold</b>
<i>italic</i>
<u>underline</u>
  • 还有一些标签,用来指出包含的文本有特殊的意义,比如<abbr>(表示缩写),<em>(表示强调),<strong>(表示更强地强调),<cite>(表示引用),<address>(表示地址)等等。这些标签不是为了定义显示效果而存在的,所以从浏览器里看它们可能没有任何效果,也可能不同的浏览器对这些标签的显示效果完全不同。
  • <h1> ~ <h6> 由大到小定义了 1 ~ 6 级的标题
1
2
3
4
5
<h1>一级标题</h1>
...
<h3>三级标题</h3>
...
<h5>五级标题</h5>

图片

  • 使用 <hr> 标签可以在页面上添加分割线, 可以通过 witdhcolor 属性来控制分割线的长度和颜色
1
<hr width="50%", color="red">
  • <img> 标签用于在页面上添加图片, src 属性用来指定图片的地址, 如果 src 指向的图片无法打开, 会显示 alt 属性的文本
1
<img src="http://example.com" alt="图片未找到" />

链接

  • 超级链接用 <a> 标签表示, href 属性指定了链接的地址, <a> 标签可以包含文本, 也可以包含图片
1
2
<a href="https://www.baidu.com">百度</a>
<a href="https://www.google.com"><img src="https://www.google.com.hk/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"></a>

分段换行

  • 由于 HTML 中的空白字符会被忽略, 可以通过 <p> 标签定义一个段落, 段落结束时会自动换行
1
2
<p> 第一段内容 </p>
<p> 第二段内容 </p>
  • 也可以使用 <br> 标签来实现换行, <br> 也没有结束标签
1
1 <br> 2 <br> 3
  • 有时,要把文档看作不同的部分组合起来的,比如一个典型的页面可能包括三个部分:页头,主体,页脚。<div>标签专门用于标明不同的部分:
1
2
3
<div>页面头部</div>
<div>主题内容</div>
<div>页面尾部</div>

表格

  • HTML文档在浏览器里通常是从左到右,从上到下地显示的,到了窗口右边就自动换行。为了实现分栏的效果,很多人使用表格 <table> 进行页面排版(虽然HTML里提供表格的本意不是为了排版)
  • <table> 标签里通常会包含几个 <tr> 标签,<tr> 代表表格里的一行。<tr> 标签又会包含<td> 标签,每个 <td> 代表一个单元格。
1
2
3
4
5
6
7
8
9
10
11
<table>
<tr>
<td>2000</td><td>悉尼</td>
</tr>
<tr>
<td>2004</td><td>雅典</td>
</tr>
<tr>
<td>2008</td><td>北京</td>
</tr>
</table>
  • <tr> 标签还可以被 <table> 里的 <thead> <tbody><tfoot> 包含。它们分别代表表头,表正文,表脚。在打印网页的时候,如果表格很大,一页打印不完,<thead><tfoot> 将在每一页出现。
  • <th><td> 非常相似,也用在 <tr> 边,不同的是 <th> 代表这个单元格是它所在的行或列的标题。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<table>
<thead>
<tr>
<td>姓名</td>
<td>年龄</td>
</thead>
<tbody>
<tr>
<td>html</td>
<td>12</td>
</tr>
<tr>
<td>python</td>
<td>11</td>
</tr>
</table>

列表

  • 表格用于表示二维数据(行,列),一维数据则用列表表示。列表可以分为无序列表 <ul>,有序列表<ol> 和定义列表 <dl>。前两种列表更常见一些,都用 <li> 标签包含列表项目。
  • 无序列表表示一系列类似的项目,它们之间没有先后顺序。
1
2
3
4
5
<ul>
<li>Number 1</li>
<li>Number 2</li>
<li>Number 3</li>
</ul>
1
2
3
4
5
<ol>
<li>第一步</li>
<li>第二步</li>
<li>第三步</li>
</ol>

框架

  • 最后谈一下框架,曾经非常流行的技术,框架使一个窗口里能同时显示多个文档。主框架页里面没有 <body> 标签,取代它的是 <frameset>
  • <frameset> 标签的属性 RowsCols 用于指定框架集 (frameset) 里有多少行(列),以及每行(列)的高度(宽度)。
  • <frameset> 标签可以包含 <frame> 标签,每个 <frame> 标签代表一个文档(src属性指定文档的地址)。
  • 如果觉得这样的页面还不够复杂的话,还可以在 <frameset> 标签里包含 <frameset> 标签。
1
2
3
4
5
6
7
<frameset rows="15%,*">
<frame src="top.html" name=title scrolling=no>
<frameset cols="20%,*">
<frame src="left.html" name=sidebar>
<frame src="right.html" name=recipes>
</frameset>
</frameset>

30分钟以后怎么办

  • 这篇文章只是让从没有接触过HTML的人对HTML有个初步的印象,所以很多东西都没有谈到。本文并没有列出HTML中所有的标签,对于列出的标签也没有介绍它们的全部属性。

  • 另外,没有提到的东西里还包括我觉得非常重要的CSS, JavaScript, XHTML, XML, Web Standards,以及它们与HTML的关系。不过这些也不太可能在30分钟内学会,好在只要入了门,就能利用网上很多资源继续学习。当然,如果有一本纸质书,就更好了,这方面我推荐 《HTML与XHTML权威指南》。下面是一些我觉得不错的网上资源:

  • HTML语言参考(英文)

  • HTML教程


Reference:

上一页
2022-12-01 19:36:00
下一页