Skip to content

HTML功能标签

开发文档

W3C 官网: https://html.spec.whatwg.org/multipage/

W3Cscholl:https://www.w3cschool.cn/htmltags/

MDN: https://developer.mozilla.org/zh-CN/docs/Web/HTML

排版标签

标签名语义和功能属性单标签还是双标签
h1 ~ h6一级标题~六级标题双标签
p段落双标签
hr分隔线单标签
br换行单标签
pre原格式显示双标签
div无语义,用于页面布局双标签

主体结构标签

标签名语义和功能属性单标签还是双标签
html根元素双标签
head双标签
body主体双标签

HEAD 中的标签

标签名语义和功能属性单标签还是双标签
meta设置页面元信息charset: 设置字符集编码,值推荐 utf-8单标签
title标题栏标题双标签

文本标签

标签名语义和功能属性单标签还是双标签
em强调,默认表现斜体字双标签
strong强调,默认表现粗体字双标签
ins表示增加的内容,默认添加下划线双标签
del表示删除的内容,默认添加删除线双标签
sub下标字双标签
sup上标字双标签
span无语义,配合CSS给文字设置样式双标签
html
以下文本标签  作为了解

<cite>    		用于引证、举例、(标签定义作品(比如书籍、歌曲、电影、电视节目、绘画、雕塑等等)的标题)通				 常为斜体字
<dfn> 	  		定义一个定义项目
<code> 	  		定义计算机代码文本
<samp>    		定义样式文本 标签并不经常使用。只有在要从正常的上下文中将某些短字符序列提取出来,对它们				加以强调的极少情况下,才使用这个标签。
<kbd>     		定义键盘文本。它表示文本是从键盘上键入的。它经常用在与计算机相关的文档或手册中。
<abbr>    		定义缩写 配合title属性  (IE6以上)
<bdo>     		来覆盖默认的文本方向 dir属性 值: lrt  rtl
<var>     		定义变量。您可以将此标签与 <pre> 及 <code> 标签配合使用。
<small>   		标签定义小型文本(和旁注)
<b>       		粗体字标签 根据 HTML 5 的规范,<b> 标签应该做为最后的选择,只有在没有其他标记比较合适				 时才使用它。
<i>       		斜体字标签 标签被用来表示科技术语、其他语种的成语俗语、想法、宇宙飞船的名字等等。
<u>       		下划线字体标签 标签定义与常规文本风格不同的文本,像拼写错误的单词或者汉语中的专有名词。 				 请尽量避免使用该标签为文本加下划线,用户会把它混淆为一个超链接。
<q>       		签定义一个短的引用。浏览器经常会在这种引用的周围插入引号。(小段文字)
<blockquote> 	标签定义摘自另一个源的块引用。浏览器通常会对 <blockquote> 元素进行缩进。(大段文字) 				  (块状元素)
<address>    	定义地址 通常为斜体 (注意非通讯地址)  块状元素
<font>     		H5已删除 字体标签,可以通过标签的属性指定文字的大小、颜色及字体等信息
<tt>       		H5已删除 打字机文字
<big>      		H5已删除 大型字体标签
<strike>   		H5已删除 添加删除线
<acronym>  		H5已删除 首字母缩写 请使用<abbr>代替

图片标签

img 标签

标签名语义和功能属性单标签还是双标签
img引入图片src:设置图片地址。
alt:设置图片替代文字。
width:设置宽度。
height:设置高度
单标签

总结:

1. alt 设置图片替代文字,当图片无法正常显示,显示alt中的文字
2. 如果单独设置宽度或者高度,另一个方向根据比例自动计算。同时设置宽高容易导致图片拉伸失真。

常见的图片格式

sh
jpg / jpeg
png
gif
bmp
webp
...

base64 图片

sh
1. 本质:一串特殊的文本,要通过浏览器打开,传统看图应用通常无法打开。
2. 原理:把图片进行 base64 编码,形成一串文本。
3. 如何生成:靠一些工具或网站。
4. 如何使用:直接作为 img 标签的 src 属性的值即可,并且不受文件位置的影响。
5. 使用场景:一些较小的图片,或者需要和网页一起加载的图片。

base64编码工具: https://tool.chinaz.com/tools/imgtobase/

相对路径和绝对路径

当前文件: html代码所在的文件

目标文件: 被引用的文件

绝对路径

网络绝对路径: 目标文字在万维网上的绝对地址,如 https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png,前端开发主要使用网络绝对路径。

本地绝对路径: 目标文字在计算上的绝对地址, 如 D:\Library\SH230320\Day02_HTML\课堂案例\02-图片标签\铭哥工作照.jpg,后端开发主要使用本地绝对路径。

相对路径

sh
./		当前目录(当前文件所在的目录), ./可以省略
        如果目标文件在同级或者下级
        
../     上级目录(当前文件的上级目录)
        如果目标文件在上级或者先进入上级再访问所在目录
        
../../  上上级
../../../ 上上上级

HTML 中使用路径的场景

sh
1. img 标签引入图片
2. 超链接设置目标文件
3. video 标签引入视频
4. audio 标签引入音频
5. iframe 标签引入各种类型的文件
6. link 标签关联 css 文件
7. script 标签引入 js 文件
...

超链接和锚点

a 标签

标签名语义和功能属性单标签还是双标签
a超链接href:设置目标文件地址。
target:设置目标文件在哪个窗口打开
双标签

总结:

target 属性设置目标文件在哪个窗口打开,默认值是 _self,表示本窗口打开;可以设置为 _blank, 表示新窗口打开

超链接

目标文件是网页

html
<a href="https://www.163.com/news/article/I0ELH95T000189FH.html">一篇新闻</a> <br>
<a href="../03-相对路径练习/pages/index.html">相对路径练习</a>

目标文件是网页以外的其他类型文件

html
<a href="./resouces/小乐老师的业余生活.jpg">[图片]小乐老师的业余生活</a> <br>
<a href="./resouces/如何30岁之前走上人生巅峰.pdf">[pdf]如何30岁之前走上人生巅峰</a> <br>
<a href="./resouces/小乐老师的性福生活.mp4">[视频]小乐老师的性福生活</a> <br>
<a href="./resouces/如何拥有百亿资产.docx">[word文件]如何拥有百亿资产</a> <br>
<a href="./resouces/小乐老师的私房照片.7z">[压缩文件]小乐老师的私房照片</a>
目标文件分为两种:
浏览器能够打开: 点击超链接,浏览器直接打开,如网页文件、图片文件、视频文件、pdf文件等
浏览器无法打开: 点击超链接,直接下载

超链接唤起指定应用

html
<a href="tel:10086">打电话</a> <br>
<a href="sms:10010">发短信</a> <br>
<a href="mailto:fuming@atguigu.cn">发邮件</a>

href 的值是空的点击刷新

html
<a href="">刷新</a>

使用JavaScript接管

html
<a href="javascript:;"></a>

锚点

如何设置锚点

sh
给标签设置一个ID属性,该标签就成为一个锚点,ID的属性值就是锚点的名字
html
<div id="锚点名"></div>
<p id="锚点名"></p>
<hr id="锚点名">

如何跳转到锚点(通过超链接跳转到锚点)

html
<!-- 跳转到本页面的锚点 -->
<a href="#锚点名"></a>

<!-- 跳转到其他页面的锚点 -->
<a href="页面地址#锚点名"></a>

<!-- 跳转到页面顶部 -->
<a href="#"></a>

列表标签

无序列表

html
文字无序列表:
<ul>
      <li>HTML 超文本标记语言</li>
      <li>CSS 层叠样式表</li>
      <li>JavaScript 浏览器端脚本语言</li>
</ul>

超链接无序列表:
<ul>
     <li>
         <a href="#">感悟习近平主席俄罗斯之行的“历史逻辑”</a>
     </li>
     <li>
         <a href="#">携手向未来!习近平谈构建人类命运共同体</a>
     </li>
     <li>
         <a href="#">镜观·领航|命运与共 携手建设更加美好的世界</a>
     </li>
     <li>
         <a href="#">总台“中国式现代化与世界新机遇”阿联酋专场研讨会在阿布扎比成功举办</a>
     </li>
</ul>

嵌套无序列表:
 <ul>
     <li>
         <a href="#">首页</a>
     </li>
     <li>
         <a href="#">论坛</a>
     </li>
     <li>
         <a href="#">关于我们</a>
         <ul>
             <li>
                 <a href="#">联系我们</a>
             </li>
             <li>
                 <a href="#">加入我们</a>
             </li>
             <li>
                 <a href="#">举报我们</a>
             </li>
         </ul>
     </li>
     <li>
         <a href="#">商城</a>
     </li>
     <li>
         <a href="#">博客</a>
     </li>
</ul>

无序列表可以用于表示一组相关的内容,如新闻列表、文章列表、商品列表、导航 等

有序列表

html
<ol>
    <li>高小乐</li>
    <li>比尔盖茨</li>
    <li>巴菲特</li>
    <li>索罗斯</li>
    <li>马云</li>
</ol>

有序列表可以用于排序类的列表,如排行榜等。

自定义列表

html
<!-- 
	一个dt对应一个dd
-->
<dl>
    <dt>HTML</dt>
    <dd>超文本标记语言</dd>
    <dt>CSS</dt>
    <dd>层叠样式表</dd>
    <dt>JavaScript</dt>
    <dd>浏览器端脚本语言</dd>
</dl>

<!-- 
	一个dt对应多个dd 
-->
<dl>
    <dt>如何掌握一个HTML标签?</dt>
    <dd>该标签的语义功能</dd>
    <dd>该标签的属性以及属性值如何设置</dd>
    <dd>该标签是单标签还是双标签</dd>
</dl>

列表标签总结

标签名功能和语义属性单标签还是双标签
ul无序列表包裹元素双标签
ol有序列表包裹元素双标签
li列表项双标签
dl定义列表包裹元素双标签
dt定义列表项标题双标签
dd定义列表项描述双标签

注意:

sh
li 必须被 ul 或者 ol 直接包裹!

表格标签

表格的结构

html
table
	caption
	thead
		tr
			td/th
			....
		tr
		...
	tbody
		tr
			td/th
			...
		tr
		...
	tfoot
		tr
			td/th
			...
		tr
		...
html
<table border="1">
    <!-- 表格标题 -->
    <caption>用户信息表</caption>
    <!-- 表格头 -->
    <thead>
        <tr>
            <th>序号</th>
            <th>姓名</th>
            <th>性别</th>
            <th>电话</th>
            <th>地址</th>
        </tr>
    </thead>
    <!-- 表格体 -->
    <tbody>
        <tr>
            <td>1</td>
            <td>曹操</td>
            <td>男</td>
            <td>13378652389</td>
            <td>上海市松江区</td>
        </tr>
        <tr>
            <td>2</td>
            <td>刘备</td>
            <td>男</td>
            <td>13378652388</td>
            <td>上海市浦东区</td>
        </tr>
        <tr>
            <td>3</td>
            <td>高小乐</td>
            <td>男</td>
            <td>13378652387</td>
            <td>上海市松江区</td>
        </tr>
        <tr>
            <td>4</td>
            <td>孙悟空</td>
            <td>男</td>
            <td>13378652386</td>
            <td>上海市黄浦区</td>
        </tr>
    </tbody>
    <!-- 表格脚 -->
    <tfoot></tfoot>
</table>

表格整体样式设置

给 table 标签设置如下属性:

js
width: 	设置宽度
height:  设置高度
cellspacing: 设置单元格之间的间距
cellpadding: 设置单元格内补白(边框与内容的间距)
border: 设置边框边框

设置单元格宽高

给 td、th 设置 width 和 height 属性:

js
给 td、th 设置 width 相当于设置列宽
给 td、th 设置 height 相当于设置行高

给 tr 和 td 设置 height 有什么区别:

js
给 th、td 设置height,实际行高会在设置的高度的基础上加上上下的 cellpadding
给 tr 设置 height 就是总行高

设置单元格中内容对齐方式

设置单元格内容横向对齐方式:

js
给 thead、tbody、tfoot 设置 align 属性,属性的值: left、right、center,所包裹的单元格都会生效
给 tr 设置 align 属性,属性的值: left、right、center,所包裹的单元格都会生效
给 td、th 设置 align 属性,属性的值: left、right、center,本单元格会生效

设置单元格内容纵向对齐方式:

js
给 thead、tbody、tfoot 设置 valign 属性,属性的值: top、bottom、middle,所包裹的单元格都会生效
给 tr 设置 valign 属性,属性的值: top、bottom、middle,所包裹的单元格都会生效
给td、th 设置 valign 属性,属性的值: top、bottom、middle,本单元格会生效

单元格跨行和跨列(重要)

给 td、th 设置属性:

js
rowspan: 设置所跨行数
colspan: 设置所跨列数

表格标签总结

标签名功能和语义属性单标签还是双标签
table表格包裹元素width
height
cellspacing
cellpadding
border
双标签
caption表格标题双标签
thead表格头align
valign
双标签
tbody表格体align
valign
双标签
tfoot表格脚align
valign
双标签
trheight
align
valign
双标签
td单元格width
height
align
valign
colspan
rowspan
双标签
th表头单元格width
height
align
valign
colspan
rowspan
双标签

表单

表单总体设置

html
<form action="http://www.baidu.com/s" target="_blank">
     <input type="text" name="wd">
     <button>搜索</button>
</form>

表单控件

文本输入框

html
<input type="text"> <br>

<!-- type 属性的默认值就是 text -->
<input> <br>

<!-- maxlength 可以限制最大输入长度 -->
<input type="text" maxlength="10">

当类型为file时为上传文件

html
<form action="/upload" method="post" enctype="multipart/form-data">
    <input type="file" name="avator">
    <button>上传</button>
</form>

密码输入框

html
<input type="password"> <br>
<input type="password" maxlength="6">

单选框

html
 <input type="radio" name="gender">男
<input type="radio" name="gender">女
<input type="radio" name="gender" checked>其他
javascript
1. 多个单选框要实现单选效果,需要设置相同的 name 属性值
2. 设置 checked 属性可以实现默认选中,该属性不需要值

复选框

html
<input type="checkbox">唱
<input type="checkbox">跳
<input type="checkbox" checked>RAP
<input type="checkbox">打篮球
<input type="checkbox" checked>敲代码
javascript
设置 checked 属性可以实现默认选中,该属性不需要值

提交按钮

html
<input type="submit">
<input type="submit" value="免费注册">
<button type="submit">提交</button>
<button>登录</button>
css
button的默认显示的尺寸就是border-box

重置按钮

html
<input type="reset">
<button type="reset">重置</button>

普通按钮

html
<input type="button" value="普通按钮01">
<button type="button">普通按钮02</button>

文本域

html
<textarea rows="10" cols="60"></textarea>
javascript
rows 设置默认显示的行数,影响高度
cols 设置默认显示的列数,影响宽度

下拉选项

html
<select>
    <option>江苏省</option>
    <option>安徽省</option>
    <option>河南省</option>
    <option selected>新疆维吾尔自治区</option>
    <option>内蒙古自治区</option>
    <option>广西壮族自治区</option>
</select>
js
默认选中的是第一个选项,可以使用 selected 设置默认选项

表单控件的属性

name 属性

js
1. name 用于给表单控件设置标识,与后端对应
2. 多个单选框要实现单选效果需要设置相同的 name
3. 下拉选项需要将 name 设置到 select 上
4. 提交按钮、重置按钮、普通按钮不要设置 name 属性

value 属性

js
1. 文本输入框、密码输入框,value 可以设置默认显示的内容
2. 单选框、复选框,value 设置真正提交的数据
3. input 实现的提交按钮、重置按钮、普通按钮,value 设置按钮上的文字
4. button 和 textarea 不需要 value 双标签不需要设置value值
5. 下拉选项option可以使用value设置真正提交的数据,如果没有设置value,双标签中的文字作为提交的数据

复选框的 value的返回值是一个 数组Array[]

disabled 属性

js
1. 表单控件设置 disabled 属性将变为不可用
2. disabled 属性不需要值
3. select 设置disable 属性整个下拉选项不可用;option 设置 disabled 属性该选项不可选。

label 标签的使用

html
<!-- 使用label关联描述文字和输入框 -->
<label for="usernameInp">用户名:</label>
<input type="text" id="usernameInp">

<!-- 使用label关联选择框 单选框、复选框 -->
<label>
    <input type="radio" name="gender">男
</label>
<label>
    <input type="radio" name="gender">女
</label>

fieldset 和 legend 标签

html
<form>
    <fieldset>
        <legend>标题内容</legend>
        各种表单控件...
    </fieldset>
</form>

表单标签总结

标签名语义和功能属性单标签和双标签
form表单包裹元素action:设置表单提交地址。
target:设置提交地址从那个窗口打开
双标签
input各种类型的表单控件type:表单控件类型。
maxlength:最大可输入长度。
checked:设置默认选中。
name:表单控件标识。
value:表单控件的值。
disabled:设置为不可用。
单标签
button各种类型的按钮type:按钮类型。
disabled:设置为不可用。
双标签
textarea文本域rows: 默认显示的行数。
cols:默认显示的列数。
name:表单控件标识。
disabled:设置为不可用。
双标签
select下拉选项包裹元素name:表单控件标识。
disabled:设置为不可用。
双标签
option下拉的选项value:表单控件的值。
selected:设置默认选中
disabled:设置为不可用。
双标签
label用于关联表单控件for:表单控件的id双标签
fieldset设置外围的边框双标签
legend设置表单标题
需要与fieldset配合
双标签
js
input 标签的 type 属性值有 text、password、radio、checkbox、submit、reset、button, 默认值 text
button 标签的 type 属性值有 submit、reset、button,默认值 submit

input标签设置隐藏域 用于隐藏数据,做出判断 type属性值为 hidden

html
 <input type="hidden" name="id" value="">

内联框架标签

标签名功能和语义属性单标签还是双标签
iframe内联框架
将各种类型的文件引入当前页面
src: 设置目标文件地址。
frameborder:设置是否有边框,0表示没有,其他数字表示有。
width:设置宽度。
height:设置高度。
双标签
html
<h3>iframe</h3>
    <a href="http://www.baidu.com" target="xiaole">百度</a>
    <a href="http://www.so.com/s" target="xiaole">360搜索</a>
    <br>

    <form action="http://www.so.com/s" target="xiaole">
        <input type="text" name="q">
        <button>搜索</button>
    </form>
    <iframe src="" frameborder="0" width="1000" height="500" name="xiaole"></iframe>