文章目录
一、什么是HTML?
HTML是用来描述网页的一种语言。我们可以用 HTML 来构建 Web 页面即所谓的网页。
- HTML指的是超文本标记语言(Hyper Text Markup Language)的缩写;
- HTML 不是一门编程语言,而是一种用于定义内容结构的标记语言;
- 标记语言是一套标记标签 (markup tag),HTML 使用标记标签来描述网页。
我们在浏览器中看到的任何网页背后都是一个 HTML 文档,只要在网页上点击鼠标右键
->查看源代码
(用控制台工具也可)就可看到。
二、工具的选择
Webstorm 虽然强大,但因其为商业软件,这里就不推荐了。
这里推荐使用Visual Studio Code开发工具,是微软推出的开源文本编辑器,功能强大,请前往官网进行下载安装。
一步安装到位即可,这里小编不多做演示(因为安装过了)。
运行该软件后,点击软件界面左侧第五
个图标即可进行插件安装。
推荐安装以下插件:Live Server
、Auto Close Tag
、Auto Rename Tag
、Code Runner
、IntelliSense for CSS
、Material Icon
、Open HTML in Browser
、Path Intelligence
等。
注:运行code后,请在File
-> Auto Save
选中,如此VS Code将自动保存我们的代码。
开发网页,好的浏览器必不可少。这里推荐使用 Chrome浏览器或者Firefox浏览器。
三、第一个WEB网页
安装好开发软件VS Code 及其相关的插件后,运行该软件,打开/新建一个文件夹,在该文件夹下新建一个以.html
为后缀名的文件。
现在进行我们第一个web页的制作,输入以下代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<title>页面标题</title>
</head>
<body>
<h1>我的第一个Web页</h1>
<p>当前有点丑:)</p>
</body>
</html>
点击右下角的Go Live
(前提是安装好Live Server插件),将该文件在浏览器中打开。
(当然在开发工具中我们已经安装了open in browser插件,因此在 VS Code 的编辑区点击鼠标右键即可看到快捷方式Open In Default Browser
将该文件在浏览器中打开。)
这样你就完成了人生中的第一个web网页的制作:
四、HTML文档的相关说明
HTML文档 = 网页
- HTML 文档描述网页
- HTML 文档包含 HTML 标签和纯文本
- HTML 文档也被称为网页
1. HTML标签
HTML 标记标签通常被称为 HTML 标签 (HTML tag):
- HTML 标签是由尖括号包围的关键词,比如 <html>;
- HTML 标签通常是成对出现的,比如 <b> 和 </b>;
- 标签对中的第一个标签是开始标签(包含元素的名称,被左、右角括号所包围,表示元素从这里开始或者开始起作用 ),第二个标签是结束标签(与开始标签相似,只是其在元素名之前包含了一个斜杠,表示着元素的结尾)。
- 开始和结束标签也被称为开放标签和闭合标签;
- HTML 不区分标签的大小写,但建议全部使用小写。
2. HTML元素
- HTML 元素以开始标签起始;
- HTML 元素以结束标签终止;
- 元素的内容是开始标签与结束标签之间的内容。
如下所示的一个用于展示段落的元素:
因此HTML标签是超文本标记语言的最基本单位,而HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码。
检查我们刚创建的 HTML 文档你会发现,整个 HTML 就由一个个元素组成(可以嵌套),而元素则一般由一对标签(tag)构成。
HTML 使用标记(markup)来注明文本、图片和其他内容,以便于在浏览器中显示;Web 浏览器的作用是读取 HTML 文档,并以网页的形式显示出它们,浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容。
当然HTML 标记包含一些规定的"元素"如<head>,<title>,<body>,<header>,<footer>,<article>,<section>,<p>,<div>,<span>,<img>,<aside>,<audio>等等,这些元素也不需要记忆,以后要用到去浏览器搜索即可。
3. 注释
如同大部分的编程语言一样,在 HTML 中有一种可用的机制来在代码中书写注释 。
为了将一段 HTML 中的内容置为注释,需要将其用特殊的记号<!--
和-->
包括起来,如:
<p>我在注释外,可以显示!</p>
<!-- <p>我在注释内!浏览器将忽略我</p> -->
浏览器显示如下:
注:在 code 软件中,输入Ctrl + /
即可快捷的进行注释!
4. 空元素
一般来说,元素都拥有开始标签,内容,结束标签。但有一些元素只有一个开始标签,通常用来在此元素所在位置插入或嵌入一些东西,如<br>, <hr>, <input>, <img>, <a>等等,我们称其为空元素。如:
<!-- 换行 -->
<p>我可以<br>换行</p>
<!-- 水平分割线 -->
<hr>
<!-- 输入框 -->
<input>
浏览器显示如下:
5. 元素的属性
元素是可以有相关属性的。属性包含元素的额外信息,这些信息不会在浏览器中显示出来。如:
<!-- 带属性的段落输入框 -->
<p title="这是个title属性">鼠标移上来试试!</p>
<!-- 带属性的输入框 -->
<input type="text">
<input type="password">
浏览器显示如下:
一个属性包括:
- 一个空格,在属性和元素名称之间(如果已经有一个或多个属性,就与前一个属性之间有一个空格);
- 属性名称,后面跟着一个 = 号;
- 一个属性值,由一对引号 “” 引起来。
五、基本的 HTML 标签
1. HTML标题
HTML 提供了从大到小6级标题,是通过 <h1>
- <h6>
等标签进行定义的。如:
<h1>This is a heading 1</h1>
<h2>This is a heading 2</h2>
<h3>This is a heading 3</h3>
浏览器显示如下:
注:一级标题<h1>最醒目,应该用于页面的主标题,其次为二级标题,以此类推。
2. HTML段落
HTML 段落是通过 <p> 标签进行定义的。如:
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
浏览器显示如下:
3. HTML超链接
HTML超链接是通过 <a> 标签进行定义的。
我们可以把任何东西加上超链接,不过常用的是文本、图片等。
如:
<a href="https://www.baidu.com/" target="_blank">百度一下</a>
浏览器显示如下:
说明:
href
即为要跳转去的地址 URL;target
属性为_blank表示在新的页面打开超链接(默认是在当前页面打开);- 超链接标签包含的
内容
(即文字"百度一下")为显示在页面上供用户点击的。
4. 锚点
锚点,也称为书签,用于标记页面的某个元素或位置。通过锚点,我们可以轻易的在长页面内实现跳转。
先使用id
属性生成某元素的锚点,然后再使用超链接
指向该锚点即可,如:
<!-- 文档其余部分 -->
<h2 id="C4">第四章 论零号病人的重要性</h2>
<!-- 文档其余部分 -->
<a href="#C4">跳到第四章</a>
<!-- 文档其余部分 -->
...
注:元素的id值必须是唯一的;超链接中的地址需要有#符号
5. HTML 图像
HTML 图像是通过 标签进行定义的。如:
<img src="https://mdbootstrap.com/img/logo/mdb192x192.jpg" alt="MDB Logo" width="200" height="200">
说明:
src
属性为要显示图片文件的位置URL,即图片文件的路径;alt
属性当获取图片出现问题时显示的文字(占位符);- 可为图片指定高宽度,但不建议(可能导致图片变形)。
提示: 对于小尺寸的图片,现在可采用 base64 编码进行,可提高页面加载速度,提升用户体验。
文件路径:
文件路径描述了网站文件夹结构中某个文件的位置。
文件路径会在链接外部文件时被用到:
- 网页
- 图像
- 样式表
- JavaScript
为获取图片文件,我们需要指定该文件位于何处。文件路径有相对路径和绝对路径两种。
绝对路径是指向一个因特网文件的完整 URL,是通常从盘符开始的路径。如:
<img src="https://www.w3school.com.cn/images/picture.jpg" alt="flower">
相对路径相对路径是指以当前文件资源所在的目录为参照基础,链接到目标文件资源(或文件夹)的路径。如:
<img src="/images/picture.jpg" alt="flower">
在本例中,文件路径指向了位于当前文件夹中 images 文件夹里的一个文件。
例子 | 解释 |
---|---|
<img src=“picture.jpg”> | 该图片文件与当前文档在同一目录中 |
<img src=“./images/picture.jpg”> | 该图片文件在当前目录下的images目录中 |
<img src=“…/picture.jpg”> | 该图片文件在上一级目录中 |
注:使用相对路径是个好习惯(如果可能)。
如果使用了相对路径,那么您的网页就不会与当前的基准 URL 进行绑定,所有链接在您的电脑上 (localhost) 或未来的公共域中均可正常工作。
6. HTML表格
表格由 <table>
标签来定义。每个表格均有若干行(由 <tr>
标签定义),每行被分割为若干单元格(由 <td>
标签定义)。<td>
指表格数据(table data),即数据单元格的内容;<th>
是表头的单元(多数浏览器会把表头显示为粗体居中的文本)。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等。
例子如:
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
浏览器显示如下:
表格标签:
标签 | 描述 |
---|---|
<table> | 定义表格 |
<caption> | 定义表格标题 |
<th> | 定义表格的表头 |
<tr> | 定义表格的行 |
<td> | 定义表格单元 |
<thead> | 定义表格的页眉 |
<tbody> | 定义表格的主体 |
<tfoot> | 定义表格的页脚 |
<col> | 定义用于表格列的属性 |
<colgroup> | 定义表格列的组 |
7. HTML列表
我们也可以使用列表来呈现内容,HTML 支持有序、无序和定义列表。
无序列表:
无序列表是一个项目的列表,默认使用实心圆点(典型的小黑圆圈)进行标记,其它的标志可以是空心圆circle
,实心方块square
以及不出现标志。。
无序列表始于 <ul>
标签。每个列表项始于 <li>
。
<ul type="square">
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
浏览器显示如下:
列表项内部可以使用段落、换行符、图片、链接以及其他列表等。
有序列表:
有序列表也是一列项目,列表项目默认使用数字
进行标记,其它的标志可以是大写字母A
,小写字母a
,罗马字母i
等。。
有序列表始于 <ol>
标签。每个列表项始于 <li>
标签。
<ol type="A">
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ol>
浏览器显示如下:
列表项内部可以使用段落、换行符、图片、链接以及其他列表等。
定义列表:
自定义列表不仅仅是一列项目,而是项目及其注释的组合。
自定义列表以 <dl>
标签开始。每个自定义列表项以 <dt>
开始。每个自定义列表项的定义以 <dd>
开始。
<dl>
<dt>Coffee</dt>
<dd>Black hot drink</dd>
<dt>Milk</dt>
<dd>White cold drink</dd>
</dl>
浏览器显示如下:
定义列表的列表项内部可以使用段落、换行符、图片、链接以及其他列表等。
标签 | 描述 |
---|---|
<ol> | 定义有序列表 |
<ul> | 定义无序列表 |
<li> | 定义列表项 |
<dl> | 定义定义列表 |
<dt> | 定义定义项目 |
<dd> | 定义定义的描述 |
<dir> | 已废弃。使用 <ul> 代替它 |
<menu> | 已废弃。使用 <ul> 代替它 |
8. HTML表单
HTML 表单用于搜集不同类型的用户输入。
<form>
元素定义 HTML 表单:
<form>
<!-- 文本框,注意有 placeholder 提示符 -->
用户名:<br>
<input type="text" name="name" placeholder="请输入用户名"><br>
<!-- 密码框 -->
密码:<br>
<input type="password" name="ps" placeholder="请输入密码"><br>
年龄:<br>
<!-- 数字输入框,注意 min 和 value 属性-->
<input type="number" name="age" min="18" value="18"><br>
<!-- 单选按钮, 注意 checked 属性 -->
性别:<br>
<input type="radio" name="gender" value="male" checked> 男<br>
<input type="radio" name="gender" value="female"> 女<br>
<input type="radio" name="gender" value="other"> 其它<br>
<!-- 下拉列表,注意 selected 属性 -->
党派:<br>
<select name="party">
<option value="D">民主党</option>
<option value="R" selected>共和党</option>
<option value="N">无党派</option>
</select><br>
<!-- 多选框 -->
您有哪些交通工具:<br>
<input type="checkbox" name="vehicle1" value="Bike"> 自行车<br>
<input type="checkbox" name="vehicle2" value="Motocycle" checked> 摩托车<br>
<input type="checkbox" name="vehicle3" value="Car"> 轿车<br>
<input type="checkbox" name="vehicle4" value="Jet"> 飞机<br>
<!-- 日期选择器 -->
您的工作日期:<br>
<input type="date"><br>
<!-- 文件选择器 -->
上传您的照片:<br>
<input type="file" name="photo"><br>
<!-- 文本输入区域,注意 rows 和 cols 属性 -->
您的建议:<br>
<textarea name="message" rows="5" cols="30">
The cat was playing in the garden.
</textarea><br><hr>
<!-- 表单提交/重置按钮,将表单中的数据取消或传输给服务器端进行处理 -->
<input type="submit" value="提 交">
<input type="reset" value="重 置">
</form>
浏览器显示如下:
表单元素可以是不同类型的 input 元素、复选框、单选按钮、提交按钮等。
input元素:
<input> 元素是最重要的表单元素,它有很多形态,根据不同的 type 属性。
类型 | 描述 |
---|---|
text | 定义常规文本输入 |
radio | 定义单选按钮输入(选择多个选择之一) |
submit | 定义提交按钮(提交表单) |
文本输入:
<input type=“text”> 定义用于文本输入的单行输入字段
如:
<form>
First name:<br>
<input type="text" name="firstname">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
浏览器显示如下:
注:文本字段的默认宽度是 20 个字符。
单选按钮输入:
<input type=“radio”>定义单选按钮,单选按钮允许用户在有限数量的选项中选择其中之一。
<form>
<input type="radio" name="sex" value="male" checked>Male
<br>
<input type="radio" name="sex" value="female">Female
</form>
浏览器显示如下:
提交按钮:
<input type=“submit”> 定义用于向表单处理程序(form-handler)提交表单的按钮。
表单处理程序在表单的 action 属性中指定,通常是包含用来处理输入数据的脚本的服务器页面。
<form action="action_page.php">
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form>
浏览器显示如下:
Action属性:
action 属性定义在提交表单时执行的动作。向服务器提交表单的通常做法是使用提交按钮,然后表单会被提交到 web 服务器上的网页。
在上面的例子中,指定了某个服务器脚本来处理被提交表单:
<form action="action_page.php">
如果省略 action 属性,则 action 会被设置为当前页面。
Method属性:
method 属性规定在提交表单时所用的 HTTP 方法(GET 或 POST)
<form action="action_page.php" method="GET">
或:
<form action="action_page.php" method="POST">
注:GET 最适合少量数据的提交,浏览器会设定容量限制;POST 的安全性更好,因为在页面地址栏中被提交的数据是不可见的。
Name属性:
如果要正确地被提交,每个输入字段必须设置一个 name 属性。
本例只会提交 “Last name” 输入字段:
<form action="action_page.php">
First name:<br>
<input type="text" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form>
用<fieldset> 组合表单数据:
<fieldset>
元素组合表单中的相关数据;
<legend>
元素为 <fieldset> 元素定义标题。
如:
<form action="action_page.php">
<fieldset>
<legend>Personal information:</legend>
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit"></fieldset>
</form>
浏览器显示如下:
<form>属性的列表:
属性 | 描述 |
---|---|
accept-charset | 规定在被提交表单中使用的字符集(默认:页面字符集) |
action | 规定向何处提交表单的地址(URL)(提交页面) |
autocomplete | 规定浏览器应该自动完成表单(默认:开启) |
enctype | 规定被提交数据的编码(默认:url-encoded) |
method | 规定在提交表单时所用的 HTTP 方法(默认:GET) |
name | 规定识别表单的名称 |
novalidate | 规定浏览器不验证表单 |
target | 规定 action 属性中地址的目标(默认:_self) |
9. 区块和内联
HTML 的元素可以以称为区块或内联的方式进行显示。
区块
元素在浏览器显示时,通常会以新行来开始(和结束)。
如:<h1>, <pre>, <ul>, <table>,<div> 等。
HTML <div>
元素是块级元素,它是可用于组合其他 HTML 元素的容器。
<div> 元素没有特定的含义,除此之外,由于它属于块级元素,浏览器会在其前后显示折行。
如果与 CSS 一同使用,<div> 元素可用于对大的内容块设置样式属性。
<div> 元素的另一个常见的用途是文档布局。它取代了使用表格定义布局的老式方法。使用 <table> 元素进行文档布局不是表格的正确用法。<table> 元素的作用是显示表格化的数据。
如:
<h2>区块元素</h2>
<div>Hello</div>
<div>World</div>
<p>单独一行</p>
浏览器显示如下:
内联元素
相反,他们总是一个接一个进行显示,在显示时通常不会以新行开始。
如: <span>, <input>, <td>, <a>, <img>等。
HTML <span>
元素是内联元素,可用作文本的容器。
<span> 元素也没有特定的含义。当与 CSS 一同使用时,<span> 元素可用于为部分文本设置样式属性。
<h3>下面的元素将在一行中显示</h3>
<span>姓名:</span>
<input name="username">
<span>哈哈哈</span>
<a href="https://google.com/">Google</a>
<img src="https://mdbootstrap.com/img/logo/mdb192x192.jpg">
浏览器显示如下:
标签 | 描述 |
---|---|
div | 定义文档中的分区或节(division/section) |
span | 定义 span,用来组合文档中的行内元素 |
10. 预设格式
当想在网页中展示一首诗或一些特别格式的文本,那么请使用pre
标签。
<!-- pre标签中的内容将保持格式不变 -->
<pre>
我和谁都不争,
和谁争我都不屑;
我爱大自然,
其次就是艺术;
我双手烤着生命之火取暖;
火萎了,
我也准备走了。
</pre>
</pre>
浏览器显示如下:
11. 特殊字符
在 HTML 中,某些字符是预留的。
在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签,如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体。
使用实体名而不是数字的好处是:名称易于记忆;
不过坏处是:浏览器也许并不支持所有实体名称(对实体数字的支持却很好)。
如:
<p>我爱 你,你 信吗</p>
<hr>
<h2>test.html</h2>
<pre>
<h1>这是个一级标题</h1>
<p>这是一个段落<p>
<a href="https://twitter.com/">关关雎鸠,在河之洲</a>
<pre>
浏览器显示如下:
更多特殊字符可参考ISO-8859-1 字符实体手册。
六、小结
HTML 很容易学习的!相信你会喜欢它的!
小编也是刚入门,知识涵盖不全敬请谅解!
更多内容可以点击进行了解,还有超多实例等着你去学习!