01、基础元素

标题

从大h1到小h6,块元素,有6级标题。是一种标题类语义标签,内置了字体、边距样式。

  • 合理使用h标签,主要用于标题,不要为了加粗效果而随意使用。
  • H1用于最重要的标题内容,会被搜索引擎使用,用得太多影响SEO效果。
    1. <h1 align="center">标题标签h1/2/3/4/5/6:一级标题</h1>
    2. <h2>2级标题</h2>
    3. <h3>3级标题</h3>
    4. <h4>4级标题</h4>
    5. <h5>5级标题</h5>
    6. <h6>6级标题</h6>
    | 属性 | 描述 | | | —- | —- | —- | | align | 标题的水平对齐方式 | left、center、right |

段落元素

段落标签<p></p>paragraph /ˈpærəɡrɑːf/ 段落、分段)块元素,表示一个段落,前后自动换行,段落之间会有间隙(默认margin上、下=1em),比<br/>的行间距更大。

  1. <p align="left">段落文字1</p>
  2. <p align="center">段落文字2<br/>012</p>
  3. 普通文字1,用br换行<br>普通文字1

image.png


换行

换行标签(Break):
,单标签,默认行间距。HTML中不识别输入的回车换行,需用<br>标签换行。


水平线

水平线标签:


,单标签,有颜色color、长度width、粗细size、对齐align等属性,CSS中可用border设置样式。

  1. <br>
  2. <hr width="80%" color="green" align="left" size=1 />
  3. <hr width="80%" color="green" />
  4. <hr width="300px" color="red" size="3" />

image.png

属性 描述
color 线颜色 颜色
width 宽度 像素、百分比
size 线粗细 整数,像素
align 水平对齐方式, left、center、right

列表标签块元素

  • 无序列表<ul><li></li></ul>:unordered list,li为列表项,属性type可定义符号样式,默认disc(实心圆)。
  • 有序列表<ol><li></li></ol>:ordered list,li为列表项,属性type可定义排序样式,默认1(数字)。 | 属性 | 描述 | | | —- | —- | —- | | type | 序号类型 | 无序列表:disc=实心圆、square=方块、circle=空心圆
    有序列表:1=数字、a/A=字母、i/I=阿拉伯数字 | | start | 有序列表:(数字)序号开始的值 | | | reversed | 有序列表:倒序排列 | | |
  • 的属性**value** | 有序列表:设置序号值 | |
  1. <ul type="disc"> <!-- type可定义符号样式,默认disc=实心圆,可自定义样式取代-->
  2. <li type="square">l1 <!--square=方块-->
  3. <ul><li>l1的嵌套子节点</li></ul>
  4. </li>
  5. <li type="circle">l2</li> <!--circle=空心圆-->
  6. <li>l3</li>
  7. </ul>
  8. <ol type="1"> <!-- type可定义排序样式,默认1=数字-->
  9. <li type="a">l1</li> <!-- a=小写字母排序-->
  10. <li type="A">l2</li> <!-- A=大写字母排序-->
  11. <li type="i">l3</li> <!-- i=小写阿拉伯字母排序-->
  12. <li type="I">l4</li> <!-- I=大写阿拉伯字母排序-->
  13. <li>l5</li>
  14. </ol>

image.png

  • 无序标签、有序标签可以多层(相互)嵌套。
  • 列表项中的内容可以是文本,也可以是其他标签,如图片img、a标签。
  • 使用场景:新闻列表,导航按钮。
  • list-style-type:在css中设置列表符号样式,如ul li{list-style-type:disc} ``ol li{}枚举值-菜鸟教程
    • disc、circle…:实心、空心符号
    • decimal…:数字

:::warning ⌨️快捷键(VSCode)标签名*数量>子标签名*数量,快速输入多组父子标签,加大括号则为标签中内容。ul>li*3:快速输入ul标签+3组子li标签。 :::

语义化描述列表

通常用于展示词汇表或者元数据 (键 - 值对列表),块元素

元素/属性 描述
description list,描述列表,包含多组
description term( /tɜːrm/ 术语,项 )术语定义元素
的子元素
description definition(/ˌdefɪˈnɪʃn/,定义)描述元素
的子元素,放到
后面。默认样式左缩进:margin-inline-start: 40px
  1. <dl>
  2. <dt>人物简介:</dt>
  3. <dd>一代诗仙</dd>
  4. <dt>代表作:</dt>
  5. <dd>仰天大笑出门去,下楼排队做核酸</dd>
  6. </dl>

image.png

/引用元素

语义化引用元素,代表其中的文字是引用内容。

元素/属性 描述
块元素
块级引用元素(quote /kwoʊt/ 引用、引文),默认会增加缩进,一般都会加上额外的自定义样式。
cite (/saɪt/ 引用)标注引文相关资源的url地址或相关解释信息,但并不会显示
行内元素 行内引用行内元素,默认样式是用伪元素添加了引号“”
cite 同上块引用

:::warning ⚠️注意:默认样式不同浏览器不同,所以最好通过css统一样式。 :::

  1. <style>
  2. blockquote {
  3. font-size: 1rem;
  4. color: #999;
  5. border-left: .2rem solid #dfe2e5;
  6. margin: 1rem 0;
  7. padding: .25rem 0 .25rem 1rem;
  8. }
  9. </style>
  10. <div>
  11. <blockquote>
  12. 块引用blockquote文本<q>行内引用q</q>
  13. </blockquote>
  14. <q>行内引用q</q>
  15. </div>

image.png

文本元素

针对文本内容的常规元素。除了**pre**是块级元素块元素,其他都是行内元素。文本标签一般会嵌套在

标签中使用,实现不同语义/效果。

元素/属性 描述 值/示例
<span> ( /spæn/)无特定含义,是用来组织文档的行内元素,外观取决于赋予的css样式 <span>span内容</span>
设置文本字体样式的文本元素,文本在标签里
face 字体类型,值为字体名称 face="楷体"
size 字体大小,从 1 到 7 的数字,默认3。不同于字号,已废弃不推荐使用。 推荐css代替
color 字体颜色 颜色
  1. 块元素
预格式的文本(predefine /ˈpriːdɪˈfaɪn/ 预定义),保留空格、换行符,默认等宽字体。只能包含文本/行内元素,不能再包含其他块元素了。
粗体样式(Bold),单纯样式效果
<strong> 粗体效果,加重语气,更强调语义,语义在搜索引擎、语音阅读时有效
斜体样式,单纯样式效果
<em> 斜体效果(emphasis/ˈemfəsɪs/强调),着重语气,和i相比强调的语义
下划线
删除线
下标(字体更小)
上标(字体更小)
  1. <span style="color:blue">span内容</span>
  2. <font size="4" color="red" face="楷体">font标签内容</font>
  3. <pre style="color:yellowgreen;font-family:'楷体'; font-size: 18px;">pre字体内容 ,
  4. 支持回车和空 格</pre>
  5. <b>粗体b</b> &nbsp;
  6. <strong>粗体strong</strong>&nbsp;
  7. <i>斜体i</i>&nbsp;
  8. <em>em标签</em>&nbsp;
  9. <u>下划线u</u>&nbsp;
  10. <del>删除线del</del>&nbsp;
  11. <sub>下标sub</sub>&nbsp;
  12. <sup>上标sup</sup>

image.png

语义元素

表示特点语义的元素,默认提供了一些样式(吃藕丑)。

元素/属性 描述
行内元素 缩略语或缩写(abbreviation /əˌbriːviˈeɪʃn/ 缩略),默认样式:下划线(虚线)
title 用title解释其含义,鼠标提示显示
块元素
联系方式的元素,如地址、URL,邮箱等。默认样式:斜体+块元素
行内元素 计算机代码,默认样式:等宽字体
行内元素 变量名称:数学表达式或编程中的变量,默认样式:斜体
行内元素 键盘、用户输入,默认样式:monotype 字体
行内元素 计算机程序输出,(sample,样本)默认样式:monotype 字体
行内元素IE🚫 时间日期,用于根据不同的语言输出不同的格式
datetime 合法的日期时间值
  1. <div >
  2. <p>我们使用 <abbr title="超文本标记语言(Hyper text Markup Language)">HTML(abbr缩写)</abbr> 来组织网页文档。</p>
  3. <p>欢迎光临怡红院!联系方式(address):<address>长安南路 &nbsp;&nbsp;<a href="">发送邮件</a></address></p>
  4. <code>code代码</code>&nbsp;&nbsp;
  5. <var>var变量</var>&nbsp;&nbsp;
  6. <kbd>键盘kbd </kbd><kbd>Fn</kbd>+<kbd>R</kbd>&nbsp;&nbsp;
  7. <samp>计算机输出samp</samp>&nbsp;&nbsp;
  8. <time datetime="2016-01-20">2016 年 1 月 20 日</time>
  9. </div>

image.png

及语义

是一个容器元素,是一个“纯粹的”、“无任何语义的”容器块元素,用来把不同的内容分区管理。本身无任何表现效果,配合css使用。
在HTML5中增加了和div相同作用的语义化块布局元素标签,这些元素定义了一个大概的语义范围,并没有一个严格的界限,同样也么有任何样式。语义块元素可读性更好,也更有利于SEO。

元素/属性 描述
块级无语义元素(division 分区)
~~align~~ 内部内容的对齐方式,已废弃
IE9
页眉:文档头部相关区域
导航栏:主导航相关区域
页脚:底部相关区域,如页面下面的版权信息、文章后面的申明信息等
侧边栏:页面内容以外的区域,如侧边栏、呼出框等
主内容:文档主内容区域
文章,表示一个独立的、可重复的内容块,如一篇博客、一条评论、一篇帖子
段落部件,文档中的章节、页眉、页脚,把article分为多个section

:::warning ⚠️注意:语义化块元素在一些古老的浏览器存在兼容性问题,如IE8。 :::

  1. <h2>div布局</h2>
  2. <div style="height: 280px;">
  3. <div class="header">div class="header" </div>
  4. <div class="nav">div class="nav"</div>
  5. <div style="height: calc(100% - 140px);">
  6. <div class="left">div class="left"</div>
  7. <div class="right">div class="right"</div>
  8. </div>
  9. <div class="footer">div class="footer"</div>
  10. </div>
  11. <h2>语义布局</h2>
  12. <div style="height: 280px;">
  13. <header class="header">header class="header" </header>
  14. <nav class="nav">div class="nav"</nav>
  15. <main style="height: calc(100% - 140px);">
  16. <aside class="left">aside class="left"</aside>
  17. <article class="right">article class="right"</article>
  18. </main>
  19. <footer class="footer">footer class="footer"</footer>
  20. </div>
  21. <!--样式-->
  22. <style>
  23. .header,
  24. .footer {
  25. background-color: antiquewhite;
  26. height: 40px;
  27. text-align: center;
  28. line-height: 40px;
  29. float: none;
  30. }
  31. .nav {
  32. background-color: aquamarine;
  33. height: 40px;
  34. line-height: 40px;
  35. text-align: center;
  36. }
  37. .left {
  38. background-color: rgb(201, 223, 215);
  39. float: left;
  40. width: 150px;
  41. height: 100%;
  42. text-align: center;
  43. }
  44. .right {
  45. background-color: rgb(238, 252, 206);
  46. float: left;
  47. height: 100%;
  48. width: calc(100% - 150px);
  49. text-align: center;
  50. }
  51. </style>

image.png
image.png

超链接

元素是最常用的超链接标签,主要属性是href这是网络互联的重要特性。行内元素,不会换行。双标签:标签内可以放其他内容,如文字、图片。

属性 描述 值/备注
href 超链接(hypertext reference),要跳转的目标链接地址,除了http地址,还支持页面内部的锚点跳转。
- 相对路径或网络路径,资源路径
- 锚点/文档片段:页面内部跳转,用#号标识, 作为文档片段使用,跟在url后面
- href=”#”,或不设置,跳转到头部
- 用标签的name属性作为锚点,href="#name"http://url#id
- 用其他标签的id属性作为锚点,href="#id"http://url#name
- 电子邮件连接:href=”mailto:URL”
- 电话:href=”tel:号码”
name 元素名称,可作为锚点 设置锚点<a name="p1"/>,跳转到锚点<a href="#p1"/>
target 告诉浏览器用什么方式来打开目标页面
- _self:在同一个网页中显示(默认值)
- _blank:在新的窗口中打开
- _parent:在父窗口中显示;_top:在顶级窗口中显示。
rel 与目标对象的关系
download 指示这是一个下载地址 值为本地保存文件名

⚠️当不希望a标签执行跳转,用来执行其onclick事件时,需设置href="javascript:void(0)",申明不执行跳转。

  1. <a href="http://www.baidu.com" target="_self" title="鼠标悬停提示的内容">显示的内容=a标签=百度</a>
  2. <a href="../ftest/html.md">相对地址</a>
  3. <!-- 页面内#锚点跳转 -->
  4. <a href="#">默认#-跳转到头部</a>
  5. <a href="#m1">a标签的name属性作为锚点</a> <!--a name="m1"-->
  6. <a href="#hp">任意元素的id属性作为锚点</a>
  7. <a href="javascript:void(0)">不执行a标签跳转</a>

当a标签设置了href属性后,就是一个可以点击操作的超链接了,鼠标样式为小手形状image.png(pointer),同时有三种显示模式(默认样式),都可以通过css样式(伪元素选择器)调整。
image.png


02、表格

是一个嵌套组合的复合元素,块元素,一个表格table,有多个行,每行有多个单元格组成,常用于展示集合数据。
包含多种特有的子元素,构成表格的各个部分。
表格元素结构/顺序<table><caption><colgroup><thead><tbody>/<tr><tfoot>
HTML元素大全(1) - 图13

元素/属性 描述 值/备注
的子元素 元素。目的是统一列样式管理子元素,并不能创建列,只是管理样式,包含多个元素 元素
定义表格元素
border 表格外边框粗细,>=1,会同时开启单元格边框(1),通过css合并 像素
align 整个表格相对于父容器的对齐方式 right、center、left
width、height 表格宽度、高度,table/tr/td/th都支持 像素、百分比
bgcolor 背景色,table/tr/td/th都支持 bgcolor="#F5F5F5"
表格行(table row),包含多个th或td
align 行内(单元格)内容的水平对齐方式,默认left right、center、left
valign vertical,垂直对齐默认middle,对应的css属性为vertical-align top、middle、bottom
rowspan 行(水平)单元格合并,合并下面的单元格,需去掉对应的单元格 合并单元格的数量
基本单元格(table data cell),
align 单元格内容的对齐方式 right、center、left
width 单元格宽度,一列中多个高度设置则取最大值。
colspan 列(垂直)单元格合并,合并右边的单元,需去掉对应的单元格 合并单元格的数量
其他语义化子元素 让表格结构更清晰,也更容易进行样式管理
表头,1个可选,包0或多个
表头单元格(table header cell),同,默认样式:居中、加粗
scope 表头类型,(/skoʊp/范围)row=行表头,col=列表头。 便于阅读器理解表格
表格标题,1个可选,可用css的caption-side设置位置
表格列分组,0个或多,包含多个

span 横跨的列数,还有width、class、style用于管列样式 css支持的样式好像不多

表格主体数据区域,零个或多个
DOM中一直都会有的
汇总行,1个可选,包含0 或多个

:::warning ⌨️快捷键(VSCode)
多组标签文本输入:标签名*数量{文本内容},后面加上花括号,自动补充标签内容。如table>tr*2>td*4{单元格} :::

  1. <table border="2" width="500px" bgcolor="#F5F5F5" align="center"
  2. style="border-collapse:collapse;font-size: large;">
  3. <colgroup>
  4. <col>
  5. <col width="30%" style="background-color: azure;">
  6. <col class="col" span="2">
  7. </colgroup>
  8. <thead height="40px">
  9. <tr>
  10. <th width="30%">name</th>
  11. <th>age</th>
  12. <th colspan="2">birthday</th>
  13. </tr>
  14. </thead>
  15. <tr align="center"> <!--数据行-->
  16. <td align="right" bgcolor="lightblue" rowspan="2">zhangsan</td>
  17. <td>22</td>
  18. <td colspan="2">2000-12-12</td>
  19. </tr>
  20. <tr align="left"> <!--数据行-->
  21. <td align="center">23</td>
  22. <td>2000-12-12</td>
  23. <td>多了一格</td>
  24. </tr>
  25. </table>
  26. <style>
  27. .col{
  28. border: 2px solid red;
  29. width: 200px;
  30. }
  31. </style>

image.png


03、多媒体与嵌入

HTML元素大全(1) - 图15

这样的元素被称之为替换元素,因为这些元素的内容和尺寸由外部资源所定义,而不是元素自身。

HTML元素大全(1) - 图16图片

图片标签HTML元素大全(1) - 图17(image)单标签行内元素,最核心属性src指向图片地址,可以是网络路径、文件地址。行内元素,不会自动换行,可嵌套在a标签里面,实现图片点击跳转效果。

元素/属性 描述 值/备注
src 图片资源的地址,支持网络路径、文件路径。 资源路径说明
alt 图片无效时的占位文字,建议填写有意义内容(或空),阅读器会读 这是一个充满人性化的属性!
height、width 高宽,只设置一个属性会自动等比缩放,所以一般设置一个即可 尺寸,图片无效时尺寸也无效了
srcset 候选图像:图像url 宽度w/像素密度x,多个逗号分割,优先于src。
根据屏幕密度,和sizes的设置来选择(下载)图像。
配合sizes实现响应式图片
sizes 资源的大小:媒体条件 尺寸值,多个逗号隔开。
基于媒体查询选择最合适图像(srcset)及设置图像显示大小
sizes="(max-width: 600px) 200px, 50vw
border 边框粗细,已废弃,由css的border代替 像素
align 相对于父容器内的对齐排列方式。已废弃 top、bottom、middle、left、right

新的srcsetsizes属性可用来更好的实现响应式图片,以适应不同分辨率的设备。不过老旧的浏览器并不支持,所以仍需保留src,以便更好的兼容。 :::warning ⚠️注意:在调试srcset、sizes的时候,img会缓存图片,手动调整浏览器窗口大小并不会立即生效,需清除缓存(或禁用缓存)。而不会有这个困扰! :::

  1. <img src="../res/sk (13).png" width="50px" title="鼠标悬停显示文字" border=3 ></img>
  2. <img src="" alt="图片不存在" />
  3. <img src="../res/sk (19).png" align="left" width="50px" height="40px" />
  4. <a href="http://www.baidu.com"><img src="../res/sk (2).png" height="60px" /></a>
  5. <img src="../static/images/128.png"
  6. srcset="../static/images/128.png 350w,
  7. ../static/images/256.png 750w,
  8. ../static/images/512.png 900w,
  9. ../static/images/1024.png 1000w"
  10. sizes="(max-width: 320px) 100px,
  11. (max-width: 450px) 200px,
  12. (max-width: 700px) 300px,
  13. (max-width: 800px) 400px,
  14. (max-width: 900px) 500px,
  15. 1024px">
  16. <img srcset="/res/head-48.gif 300w, /res/qq.png 600w"
  17. sizes="(min-width: 500px) 600px,300px" src="/res/head-48.gif" alt="">

image.png

现代图片

图片,由多个媒体资源组成,元素标签内部依然需要包含一个HTML元素大全(1) - 图19元素,不支持或没有匹配到合适的时,则会显示内部<img>

元素/属性 描述
媒体资源 的子元素
srcset 资源url
media 媒体查询 media="(min-width: 800px)"大于800px时命中
type 资源的MIME 类型 type="image/svg+xml"

在图片格式上,推荐多用新的图形,如.svg.webp.jpeg,可以在有高质量的同时有较低的文件大小。

  1. <picture>
  2. <source media="(max-width: 799px)" srcset="elva-480w-close-portrait.jpg">
  3. <source media="(min-width: 800px)" srcset="elva-800w.jpg">
  4. <img src="elva-800w.jpg" alt="">
  5. </picture>
  6. <picture>
  7. <source srcset="/res/qq-128.png" media="(min-width: 500px)">
  8. <img src="/res/head-48.gif" alt="">
  9. </picture>

内容块语义元素

为了更好的展示图片内容,可使用 HTML5 的

元素,专门用来展示图形内容的语义化容器元素,不过本身并没有什么特别的样式,需css。

元素/属性 描述
块元素
可附标题内容元素(figure /ˈfɪɡə(r)/ 图形),代表一段独立的内容。不一定要是一张图片,可以是几张图片、一段代码、音视频、方程、表格或别的。默认样式:缩进
块元素
描述了
元素的说明/标题(caption /ˈkæpʃ(ə)n/ 说明、字幕、标题)
  1. <figure>
  2. <img src="https://file03.16sucai.com/2017/1100/16sucai_P591F9E071.JPG" alt="晚霞">
  3. <figcaption>洗一洗,那是我逝去的青春!</figcaption>
  4. </figure>
  5. <style>
  6. figure{
  7. display: flex;
  8. flex-flow: column;
  9. max-width: 250px;
  10. }
  11. figure figcaption{
  12. text-align: center;
  13. background-color: #2221;
  14. padding: 4px;
  15. }
  16. </style>

image.png

视频/音频

元素/属性 描述
媒体播放器,除了属性,还有很多JS方法事件用于视频播放控制
src 视频资源url,MP3 (音频) 和 MP4/H.264 (视频) 是被广泛支持的两种格式,MP4专利到2027
controls 启用视频控制功能
width、height 宽高
autoplay 启用自动播放,一般不建议使用
loop 启用循环播放( /luːp/ 循环)
muted 开启静音(muted /ˈmjuːtɪd/)
poster 默认显示的海报图片URL(/ˈpəʊstə(r)/ 海报)
媒体资源,代替src,可以放多个,提升浏览器对媒体格式的兼容性。
、、的子元素
时序字幕
、的子元素
标签内的内容 当浏览器不支持
时会显示,降级方案
音频播放器( /ˈɔːdiəʊ/ )
基本相同,除了没有width、height、poster属性
  1. <video width="300px" autoplay controls src="https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm"></video>
  2. <audio controls src="https://mdn.github.io/learning-area/html/multimedia-and-embedding/video-and-audio-content/viper.mp3"></audio>