注释
HTML注释语法,VS code 快捷键【Ctrl + /】:
<!--书写注释内容 -->
标题标签
标题(Heading),是通过<h1>-<h6>
六个标签分别来对六个级别的标题进行定义的。标题标签只是给标签内部的元素内容添加对应级别标题的语义,样式由CSS设定,标签之间不能相互嵌套,权重从<h1>
向<h6>
依次递减。
注意:<h1>
在整个HTML中的权重非常高,内部应该放置HTML中最重要的内容,比如logo。<h1>
由于非常重要,内部的文字对于提高搜索引擎排名也非常重要,为了防止作弊,如果 一个页面出现多个<h1>
,反而降低权重。
约定俗成的,一个页面中只会出现一个<h1>
。
<h1>一级标题</h1>
<h2>二级标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>
段落标签与换行标签
段落(paragraph),是通过<p>
标签进行定义的。 <p>
标签是双标签,且为文本级标签。内部只能放置文本、图片、表单元素,或者废弃的 <font>
标签等。<p>
标签的作用是给标签内部的内容添加一个完整段落的语义,不负责内容自动换行的样式。 换行的效果是由css决定的。
<p>这是一个段落</p>
(breaking)标签是HTML中一个简单的换行符。 <br />
标签是一个单标签。 在需要换行的位置可以使用<br />
标签书写,但是<br />
与<p>
不同,<br />
没有建立新的 段落的语义,只是简单的进行强制换行。
<p>这是第一<br />个段落</p>
<p>这是第二个段落</p>
文本格式化标签
HTML中有部分标签是用来对文字进行格式化显示设置的,比如粗体和斜体等。文本格式化的标签均为双标签,且为文本级标签,内部只能书写文字。在HTML4.0版本规范后,结构和样式进行了分离,大部分文本格式化标签被废弃,<b>
<i>
<u>
<em>
<shrong>
相对比较常用。
图像标签
图像(image)由<img>
标签进行定义。 <img>
标签是单标签,本身相当于一个特殊的文本,作用是在指定的位置插入一张图片。在HTML文件,常用的插入图片的类型有:jpg、png、gif。由于<img>
为单标签,所以它只能通过属性进行相关的图像设置。
如果需要插入一张图片到HTML中,
<img>
标签必须设置src属性。 src
:全称source资源,属性值是图片查找的路径。
路径(相对路径与绝对路径)
路径指的是寻找文件时所历经的线路,在HTML中有特殊的书写语法。 路径分为相对路径和绝对路径,不同的方式出发点和参考位置不同。
相对路径
相对路径查找文件时,需要从HTML文件本身出发,根据相对的位置进行查找,包含三种方向。
- 同级查找:指目标文件与HTML文件位于同一级,直接书写文件名+后缀格式;
<img src="smile01.jpg">
- 子级查找:指目标文件在与HTML文件同一级的文件夹的内部,需要先查找文件夹名称,然后通过关闭 符号/进入文件夹查找里面的文件;如果有多层文件夹,需要/进入多层。
<img src="images/smile02.png">
<img src="images/tupian/smile03.jpg">
- 上级查找:指目标文件在HTML文件所在文件夹的更上一级,需要跳出当前文件夹到上一层,路径写法 利用../表示跳出一级,如果跳出多级书写多次../,直到找到文件。
<img src="../../smile04.jpg" />
<img src="../images/smile01.jpg" />
绝对路径
绝对路径查找文件时,不需要从HTML文件出发,而是直接从电脑的盘符出发进行查找,或者 使用网址形式查找。
- 盘符出发:例如从c盘或者d盘出发查找图片,书写时以c:/开头,后续类似子级查找写法直至找到目标文件。(不可移植,不可移动,中文路径容易出错)
<img src="C:/Users/teacher/Documents/html/case/images/smile02.png" />
- 网址形式:要查找的文件是来自网络资源,路径写法以http://开头。
<img src="http://img3.imgtn.bdimg.com/it/u=1084243323,278941980&fm=26&gp=0.jpg" />
音频标签与视频标签
音频与视频分别使用<audio>
和<video>
标签进行定义。 <audio>
和<video>
是双标签。同图片一样,需要使用src属性设置音频查找的路径。音频文件支持的格式包括:.mp3、.ogg、.wav。 视频文件支持的格式包括:.mp4、.ogg、.webm。
<audio src="audio.mp3"></audio>
<video src="video.mp4"></video>
音频与视频加载后不会自动显示播放器的控制条,需要使用controls属性进行设置,属性值也是 controls。
<audio src="audio.mp3" controls="controls" ></audio>
<video src="video.mp4" controls="controls" ></video>
超级链接标签
<a>
标签(anchor 锚)在指定的位置添加超级链接,提供用户进行点击和跳转。有两种跳转形式:跨页面跳转、页面内跳转。实现跳转的方式需要用到一些标签属性。
-
href属性:
href
全称hypertext reference,超文本引用,用于规定链接的目标地址。属性值是链接目标的路径地址,可以使用相对路径或网址形式的绝对路径。 href属性是点击跳转的必须属性,鼠标移至含此属性的<a>
标签才会显示小手指针状态。 -
target属性:该属性可以定义被链接的文档在何处显示跳转。
_self
:默认值,表示跳转的页面在当前窗口打开,不会打开新的窗口。_blank
:空白的,表示跳转的页面在新窗口打开。 -
title属性:该属性设置的是鼠标悬停时的提示文本,与
<img>
标签类似。 属性值是自定义的文字内容。 该属性用于给用户进行提示,该链接的功能是什么,提高用户的体验。
<a href="http://www.lagou.com" target="_blank" title="点击跳转到拉钩网" >拉勾</a>
页面内锚点跳转
- 设置锚点,也就是设置跳转目标位置,有两种设置方式。
①在目标位置找到任意一个标签,给它添加id
属性,id
的属性值必须是唯一且必须以字母开头,后面可以有字母、数字、下划线和横线,区分大小写。
<h2 id="mubiao">目标位置</h2>
②在目标位置添加一个空的<a>
标签,只设置一个name
属性,name
属性值设置 方式与id
相同,也必须是唯一的。
<a name="mubiao"></a>
<h2>目标位置</h2>
- 链接到锚点,在需要点击的位置设置
<a>
标签,给a的href属性设置属性值为#id
属性值或者#
加a的name
属性值。
<a href="#mubiao">点击文本</a>
跨页面锚点跳转
- 设置锚点,方式与页面内锚点跳转一致,在目标网页的指定位置设置使用
id
或name
属性。 - 链接到锚点,添加超级链接时
href
属性需要更改,属性值写为页面的路径#id
。
<a href="new.html#mubiao">点击文本</a>
列表标签
列表用于制作HTML中的一系列项目。通常我们会将内容相关、结构相似、样式相近的内容使用列表结构进行搭建。根据项目的内容不同,可以有三种语义的列表结构:无序列表、有序列表、定义列表。
无序列表与有序列表
-
无序列表需要两个标签参与,分别是
<ul>
和<li>
。ul
:unordered list,表示定义一个无序列表的大结构。li
:list item,列表项,定义的是无序列表内的某一项。<ul>
和<li>
是嵌套关系,快捷键:ul>li
,一个列表中可以有任意个列表项。 -
有序列表的语法与无序列表类似,有序列表由两个标签组成,分别是
<ol>
和<li>
。ol
:ordered list,表示定义一个有序的列表的大结构。li
:list item,定义的是有序列表的每一项。<ol>
和<li>
是嵌套关系,快捷键:ol>li
。<ol>
标签内部可以嵌套任意多个<li>
标签。
<h3>无序列表</h3>
<ul>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
<li>列表项4</li>
</ul>
<h3>有序列表</h3>
<ol>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
<li>列表项4</li>
</ol>
注意事项:
-
<ul>
与<ol>
内部只能嵌套<li>
,<li>
标签不能脱离<ul>
与<ol>
单独书写。 -
<li>
标签是一个经典的容器级标签,内部可以放置任意内容,甚至可以放一组ul>li
或ol>li
. - 无序列表的列表项
<li>
之间,没有顺序的先后之分,它们的重要程度是相同的,而有序列表的列表项<li>
之间,存在顺序先后之分,根据内容的顺序需要合理调整书写位置。 - 无序列表的作用只是搭建列表结构,有序列表的作用只是搭建有顺序的列表结构,没有添加样式前缀的功能,前面的圆点或者数字不是标签的作用,样式是由css负责。
定义列表
自定义列表不仅仅是一列项目,而是项目及其注释的组合。 由三个标签组成完整的结构,包含<dl>
、<dt>
和<dd>
。 dl
:definition list,表示定义一个自定义列表的大结构。 dt
:definition term,表示定义自定义列表中的一个主题或者术语。 dd
:definition description,定义解释项,表示描述或解释前面的定义主题。 <dl>
内部只能嵌套<dt>
和<dd>
,<dt>
与<dd>
是同级关系。
<dl>
<dt>主题</dt>
<dd>解释项</dd>
</dl>
注意事项:
-
<dl>
内部只能嵌套<dt>
和<dd>
,<dt>
与<dd>
不能脱离<dl>
单独书写。 -
dl
内部可以放多组dt
和dd
,每个dd
解释说明的是前面的距离最近的一个dt
。 - 每个
dt
后面可以有0到多个解释项的dd
,每个dd
解释的都是前面距离最近的一个dt
。 -
dt
和dd
标签也是容器级标签,内部可以放置任意内容。 - 定义列表中的缩进样式由css负责,标签只负责搭建语义结构。
- 配合着css布局效果,最好每个
dl
中只添加一组dt
和dd
,便于后期管理。
布局标签
常用的布局标签有<div>
和<span>
,俗称盒子,都没有具体明确的语义。
div:全称division,分割、区域、跨度的意思。俗称大盒子。 <div>
是双标签,是最经典的容器级标签,内部可以放置任意内容。多用于划分网页区域,进行结构布局。一般将相关的内容使用<div>
包裹起来,整体设置大的布局效果。
span:小区域、小跨度的意思。俗称小盒子。 <span>
也是双标签,容器级标签。 在不改变整体效果的情况下,可以辅助进行局部调整。
表格标签
创建一个简单的表格至少有三个标签组成,分别是<table>
、<tr>
、<td>
标签,此外如果要制作表头,则使用<th>
标签。
-
table
:表格,定义的是整个的表格大结构。可以添加border
边框属性,属性值是数字,表示像素值。表格的单元格之间有默认的空隙,会导致双线边框,可以设置标签样式属性style
的属性值为border-collapse: collapse;
表示表框坍陷。 -
tr
:table rows,表格的行,定义的是表格由多少行组成。 -
td
:table data,表格数据,也叫表格单元格,定义的是每一行内部的单元格。
三者的关系:table>tr>td
.一个表格中有多个行,每个行中有多个单元格。 -
th
:table head data,表头单元格,在表格中绘制的时候,替换的是<td>
的位置,自带文字粗体居中的默认CSS效果。
合并单元格
表格的单元格可以进行合并,通过<th>
和<td>
的两个属性可以进行合并设置。rowspan
:跨行和并(上下的合并)。colspan
:跨列合并(左右的合并)。属性值是数字,表示跨几行或跨几列合并。
制作技巧: (1)先列出所有行<tr>
,以最小单元格为标准。(2)再添加每一行的<td>
或<th>
单元格。(3)划分单元格所在行时,顶边对齐的属于同一行。 (4)将所有行和列写完后,再查看哪个单元格有跨行或跨列,属性值的个数要参考最小 的单元格。
表格分区
<table>
内部最直接的子级包含四个分区标签,他们都是双标签。
-
caption
:表格的标题,内部书写标题文字。 -
thead
:table head,表格的头部。内部嵌套tr>th
。 -
tbody
:table body,表格的主体。内部嵌套tr>td
。 -
tfoot
:table foot,表格的页脚。内部嵌套tr>td
。
四个分区可以选择性的进行组合。注意:不论书写顺序如何颠倒,浏览器中的加载顺序都是自动按照caption
、thead
、 tbody
、tfoot
执行的。制作的时候可以先书写大分区标签结构,接着填充每个分区的内部内容,如果有合并单元格内容,则进行单元格合并。
<table>
<caption>表格的标题</caption>
<thead>
<tr>
<th>表头1</th>
<th>表头2</th>
<th>表头3</th>
</tr>
</thead>
<tbody>
<tr>
<td>表体1</td>
<td>表体2</td>
<td>表体3</td>
</tr>
</tbody>
<tfoot>表格的页脚</tfoot>
</table>
表单标签
HTML表单用于搜集不同类型的用户输入,表单元素就是网页中提供用户进行输入或点击 的小控件。在HTML中,一个完整的表单通常由表单域、提示信息和表单控件(也称为表单元素)3个 部分构成。
- 表单域相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的url地址,以及数据提交到服务器的方法。如果不定义表单域, 表单中的数据就无法传送到后台服务器。
- 提示信息:一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。
-
表单控件:包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等。
表单域标签
HTML表单域使用<form>
标签进行定义。<form>
标签是一个功能性标签,填写的表单信息要想正确的提交到后台服务器,必须放在一个<form>
标签之内。<form>
标签为双标签,容器级标签。<form>
标签通过对应属性规定提交数据的方法和提交位置。
<form action="xxx.php" method="post/get" name="message">
提示信息及表单控件书写位置
</form>
<input>标签
<input>
标签是最重要的一个表单元素,为单标签,本身相当于一个特殊的文本,需要通过标签属性实现各种功能。其中ra,type
属性的值不同,决定了<input>
标签的形态不同。
-
text
属性定义提供用户输入的单行文本的输入框,不能输入多行文字。 常用value
属性定义默认的输入文字。
<input type="text" value="默认输入文本" >
-
password
属性定义提供用户输入的密码框。 password 字段中的字符会被做掩码处理(显示为星号或实心圆)。
<input type="password">
-
radio
属性定义提供用户点击选择的单选框。单选框一般都是成组出现,多个单选框组成一组选择的情况。 同一组单选框之间必须是互斥的关系,通过给同一组单选框都设置相同的name
属性值实现。
<input type="radio" name="sex" /> 男
<input type="radio" name="sex" /> 女
-
checkbox
属性定义提供用户点击选择的多选框。 复选框允许用户在有限数量的选项中选择零个或多个选项。 同一组复选框最好也设置相同的name
属性。
<input type="checkbox" name="hobby" /> 唱歌
<input type="checkbox" name="hobby" /> 代码
<input type="checkbox" name="hobby" /> 运动
单选框和复选框都可以提前设置默认选中项。 <input>
标签有一个checked
属性,如果不设置表示默认没有选中。 属性值如果设置为"checked"
,表示该项默认被选中。
<input type="radio" name="sex" checked="checked" /> 男
<input type="checkbox" name="hobby" checked="checked" /> 唱歌
-
<input>
四种形式的按钮 -
file
属性定义文件上传按钮,可以提供用户选择本地文件进行上传服务器。使用input
的multiple
属性,可以决定是否可以选择多个文件。
<input type="file" multiple="multiple" />
文本域标签
<textarea>
标签定义文本域,制作可以输入多行文本的区域,为双标签,本身相当于一个特殊的文字。 文本域可以设置默认输入的文字,在双标签之间书写默认文字。
<textarea>
有两个标签属性,可以设置显示区域大小。rows
:行,属性值是数字,表示文本框显示的最大行数,如果超过了行数, 会被隐藏并且出现滚动条。 cols
:列,属性值是数字,表示在出现滚动条之后,每一行显示的最大字节数(一个汉字按2字节计算)。
<textarea cols="30" rows="10">默认输入文字</textarea>
下拉菜单
HTML中的下拉菜单提前设置一些选项,然后可以通过点击选择其中一项。
下拉菜单需要至少两个标签完成结构: <select>
:选择,表示定义下拉菜单整体结构。<option>
:选项,表示定义下拉菜单的每一项。 两个标签都是双标签,文本级标签。 关系:select>option
,option
可以有任意多项。
默认情况下,选中的是第一项。 下拉菜单可以通过给<option>
标签设置selected
属性,属性值为selected
,更改默认选中项。
下拉菜单中如果选项变得复杂,可以将<option>
进行分组管理。 可以使用<optgroup>
标签对选项进行分组,<optgroup>
是一个双标签。 关系:select>optgroup>option
,<optgroup>
可以设置一个label
属性,表示给这一组选项添加一个分组标签名,分组标签<optgroup>
是不能被点击选择的。
<select>
<optgroup label="国内">
<option>广州</option>
<option selected="selected">北京</option>
</optgroup>
<optgroup label="国外">
<option>伦敦</option>
<option>巴黎</option>
</optgroup>
</select>
<label>标签
所有的表单元素都可以通过绑定其他内容去扩大触发点击范围,这时需要使用一个<label>
标签。该标签的作用是帮表单元素定义标注(标记)。 如果将表单控件与提示内容使用<label>
进行绑定后,当用户鼠标点击<label>
内的提示内容时,浏览器就会自动将焦点转到和标签相关的表单控件上。有两种绑定方法:
- .给表单元素设置
id
属性,然后将需要绑定的其他内容用<label>
标签包裹,给<label>
标签设置for
属性,属性值为绑定的表单元素的id
属性值。
<input type="checkbox" name="hobby" id="sport" />
<label for="sport">运动</label>
- 如果绑定内容和表单元素写在一起,可以化简绑定写法。直接使用
<label>
标签将绑定内容与表单元素一起进行嵌套。
<label><input type="radio" name="sex" />男</label>
字符实体
在普通文字书写时,有一些特殊符号不能直接书写(例如 连续的空格),或者符号具有特殊功能也不能直接书写(例如<>符号)。可以使用一些HTML提前预留好的替换字符进行书写,这些替换字符叫做字符实体。
通过查询w3school手册HTML ISO-885901,查看所有的字符实体以及特殊字符的替换写法,包含实体名称以及实体编号。
规则:所有的字符实体和实体编号都是以&
开头,以;
结尾的。
注意:实体名称对大小写敏感!
建议1:使用实体名称,好处是名称易于记忆。不过坏处是,浏览器也许并不支持所有实 体名称(对实体数字的支持却很好)。
建议2:不需要强制记忆所有的字符实体,只需要记忆常用的几个字符实体名称即可,其 他可以通过手册进行查询。