HTML标签分类及实践

通过上一节的了解,我们知道html标签是构建网页结构的关键,而且它的种类繁多。为了更好的了解和使用它们,本章节将在功能上对它们进行分类,了解这些标签的功能。如果有分类不太精准的地方,还望不吝指正。
当然这些标签并不是都需要记住,最初只需要记住常用的即可。随着不断的使用,慢慢就会熟悉大部分标签的。

文档基础标签

<!DOCTYPE> 定义文档类型。
<html> 定义 HTML 文档。
<head> 定义关于文档的信息。
<title> 定义文档的标题。
<body> 定义文档的主体。
<!--...--> 定义注释。

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>文档标题</title>
</head>
<body>
    <!-- 注释内容 -->
</body>
</html>
格式标签

<h1> to <h6> 定义 HTML 标题。

<p> 定义段落。

<br> 定义简单的折行。

<hr> 定义水平线。

<acronym>: 定义只取首字母的缩写。

<abbr>: 定义缩写。

<address> 定义文档作者或拥有者的联系信息。

<b> 定义粗体文本。

<bdo> 定义文字方向。

<big> 定义大号文本。

<blockquote> 定义长的引用。

<center> 不赞成使用。定义居中文本。

<cite> 定义引用(citation)。

<code> 定义计算机代码文本。

<del> 定义被删除文本。

<dfn> 定义定义项目。

<em> 定义强调文本。

<font> 不赞成使用。定义文本的字体、尺寸和颜色

<i> 定义斜体文本。

<ins> 定义被插入文本。

<kbd> 定义键盘文本。

<s> 不赞成使用。定义加删除线的文本。

<samp> 定义计算机代码样本。

<small> 定义小号文本。

<strike> 不赞成使用。定义加删除线文本。

<strong> 定义语气更为强烈的强调文本。

<sup> 定义上标文本。

<sub> 定义下标文本。

<tt> 定义打字机文本。

<u> 不赞成使用。定义下划线文本。

<var> 定义文本的变量部分。

<q>定义短的引用。

<pre> 定义预格式文本。

<time>[HTML5] 定义日期/时间。目前所有主流浏览器都不支持 <time> 标签

<mark>[HTML5] 定义有记号的文本。

<meter>[HTML5] 定义预定义范围内的度量。

<progress>[HTML5] 定义任何类型的任务的进度。

<rp>[HTML5] 定义若浏览器不支持 ruby 元素显示的内容。

<rt>[HTML5] 定义 ruby 注释的解释。

<ruby>[HTML5] 定义 ruby 注释。

<bdi>[HTML5] 定义文本的文本方向,使其脱离其周围文本的方向设置。

<wbr>[HTML5] 定义可能的换行符。

示例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <!-- h1 to h6 定义标题 -->
    <h1>h1标题</h1>
    <h2>h2标题</h2>
    <h3>h3标题</h3>
    <h4>h4标题</h4>
    <h5>h5标题</h5>
    <h6>h6标题</h6>

    <!-- p定义段落 -->
    <p>p标签:这是一个段落内容</p>
    <!-- <br> 定义简单的折行。 -->
    <br>
    <p>p标签:这是另一个段落内容,上面使用了br折行,下面有一个水平线</p>
    <hr>
    <!-- <acronym>: 定义只取首字母的缩写, abbr: 定义缩写,鼠标移入,会显示title内容 -->
    <acronym title="World Wide Web">WWW</acronym>
    <abbr title="etcetera">etc.</abbr>

    <!-- <address> 定义文档作者或拥有者的联系信息。 -->
    <address>
        地址 <a href="https://www.bing.com">www.iotzzh.com</a>.<br>
    </address>

    <b>加粗字体</b>

    <big>大号字体</big>
    <blockquote>
        这是一个长的引用,这是一个长的引用,这是一个长的引用,这是一个长的引用,这是一个长的引用,这是一个长的引用,
        这是一个长的引用,这是一个长的引用,这是一个长的引用,这是一个长的引用,这是一个长的引用,这是一个长的引用,
        这是一个长的引用,这是一个长的引用,这是一个长的引用,这是一个长的引用,这是一个长的引用,这是一个长的引用
    </blockquote>

    <cite>标签通常表示它所包含的文本对某个参考文献的引用,比如书籍或者杂志的标题。按照惯例,引用的文本将以斜体显示。</cite>
    <br>
    <code>function(){//这里是code}</code>
    <br>
    <del>被删除的文本</del>
    <br>
    <dfn>定义项目</dfn><br>
    <em>强调文本</em><br>
    <i>斜体文字</i><br>
    <ins>被插入文本</ins><br>
    <kbd>键盘文本abcd</kbd><br>
    <samp>计算机代码样本code</samp><br>
    <small>小号文本</small><br>
    <sup>上标文本</sup>
    <strong>语气更为强烈的强调文本</strong>
    <sub>下标文本</sub><br>
    <tt>打字机文本 abcd</tt><br>
    <var>var:文本的变量部分</var>
    <q>定义短的引用</q>
    <pre>定义预格式文本</pre>
    <p>这是一个被<mark>mark</mark> 的标签</p>
    <progress value="60" max="100"></progress>
<br>
    <!-- <bdo> 定义文字方向:ltr,rtl -->
    <bdo dir="rtl">定义文字方向</bdo><br>
    <!-- <bdi> 定义文本方向:ltr,rtl,auto -->
    <bdo dir="rtl">定义 <bdi dir="ltr">文本它的文本</bdi>方向</bdo>

    <p>这是在测试wbr标签,可能的换行符,如果文字太长,你想指定文本换行的位置,例如Zhang<wbr>Zhonghua, 那么它就会在该换行的时候,在Zhang后面选择换行,而不是对整个名字都换行</wbr></p>
</body>

</html>

表单标签

<form> 定义供用户输入的 HTML 表单。

<input> 定义输入控件。

<textarea> 定义多行的文本输入控件。

<button> 定义按钮。

<select> 定义选择列表(下拉列表)。

<optgroup> 定义选择列表中相关选项的组合。

<option> 定义选择列表中的选项。

<label> 定义 input 元素的标注。

<fieldset> 定义围绕表单中元素的边框。

<legend> 定义 fieldset 元素的标题。

<isindex> 不赞成使用。定义与文档相关的可搜索索引。

<datalist>[HTML5] 定义下拉列表。

<keygen>[HTML5] 定义生成密钥。

<output>[HTML5] 定义输出的一些类型。

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>form练习</h1>
    <form action="">
        <br><label for=""></label>Text:</label> <input type="text">
        <br><label for="">Button:</label><input type="button" value="inputButton">
        <br><label for="">Checkbox:</label><input type="checkbox">
        <br><label for="">Color:</label><input type="color">
        <br><label for="">Date:</label><input type="date">
        <br><label for="">DateTime:</label><input type="datetime" value="2020-09-17T10:55Z">
        <br><label for="">DateTime-Local:</label><input type="datetime-local">
        <br><label for="">Email:</label><input type="email" value="956159241@qq.com">
        <br><label for="">File:</label><input type="file">
        <br><label for="">Hidden:</label><input type="hidden">
        <br><label for="">Image:</label><input type="image" src='../.././img/pic1.png'>
        <br><label for="">Month:</label><input type="month">
        <br><label for="">Number:</label><input type="number">
        <br><label for="">Password:</label><input type="password">
        <br><label for="">Range:</label><input type="range">
        <br><label for="">Radio:</label><input type="radio">
        <br><label for="">Reset:</label><input type="reset">
        <br><label for="">Search:</label><input type="search">
        <br><label for="">Time:</label><input type="time">
        <br><label for="">Url:</label><input type="url" value="https://www.bing.com">
        <br><label for="">Week:</label><input type="week">
    </form>
</body>
</html>

框架标签

<frame> 定义框架集的窗口或框架。

<frameset> 定义框架集。

<noframes> 定义针对不支持框架的用户的替代内容。

<iframe> 定义内联框架。

frameset示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<frameset cols="25%,50%,25%">
    <frame src="./表单标签.html" />
    <frame src="./格式标签.html" />
    <frame src="https://www.bing.com" />
</frameset>
</html>

iframe示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <iframe src="https://www.bing.com" width="500px" height="500px" frameborder="0"></iframe>
</body>
</html>

图像标签

<img> 定义图像。

<map> 定义图像映射。

<area> 定义图像地图内部的区域。

<canvas>[HTML5] 定义图形。

<figcaption>[HTML5] 定义 figure 元素的标题。

<figure>[HTML5] 定义媒介内容的分组,以及它们的标题。

示例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <img src="../.././img/pic1.png" border="0" usemap="#planetmap" alt="Planets" alt="这是一张图片" />
    <!-- map:带有可点击区域的图像映射 -->
    <map name="planetmap" id="planetmap">
        <!-- shap:default\rect\circ\poly -->
        <area shape="circle" coords="60,60,10" href="https://www.bing.com" target="_blank" alt="text1" />

        <area shape="circle" coords="50,50,10" href="https://www.bing.com" target="_blank" alt="text2" />

        <area shape="rect" coords="0,0,50,50" href="https://www.bing.com" target="_blank" alt="text3" />
    </map>

    <p><b>注释:</b>img 元素中的 "usemap" 属性引用 map 元素中的 "id" 或 "name" 属性(根据浏览器),所以我们同时向 map 元素添加了 "id" 和 "name" 属性。</p>

    <!-- canvas -->
    <h3>canvas画图:</h3>
    <canvas id="c2d" width="300" height="150">浏览器不支持canvas</canvas>
    <script>      
        const canvas2d = document.querySelector('#c2d');
        const ctx2d = canvas2d.getContext('2d');
        // 绘制矩形
        ctx2d.fillRect(30,50,100,50);
        ctx2d.strokeRect(100,30,100,50);
        ctx2d.clearRect(101,51,28,28);
    </script>

<!-- figure的使用,与p或者span进行对边  -->
  <figure>
    <figcaption>图片标题</figcaption>
    <img src="../.././img/pic1.png" width="100" height="100" />
    <figcaption>图片标题尾部</figcaption>
  </figure>
  <p>图片标题</p>
  <img src="../.././img/pic1.png" width="100" height="100" />
  <p>图片标题尾部</p>

  <span>图片标题</span>
  <img src="../.././img/pic1.png" width="100" height="100" />
  <span>图片标题尾部</span>

</body>

</html>

音频/视频标签

<audio>[HTML5] 定义声音内容。

<source>[HTML5] 定义媒介源。

<track>[HTML5] 定义用在媒体播放器中的文本轨道。

<video>[HTML5] 定义视频。

示例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <audio controls>
        <source src="../../asset/4.mp3" type="audio/mpeg">
      Your browser does not support the audio element.
     </audio> 

     <video src="../../asset/4.mp4" width="320" height="240" controls="controls">
        Your browser does not support the video tag.
        </video>
</body>

</html>

链接标签

<a> 定义锚。

<link> 定义文档与外部资源的关系。

<nav>[HTML5] 定义导航链接。

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/bootstrap-table/1.1.4/bootstrap-table.min.css">
</head>
<body>
    <a href="https://www.bing.com">Home</a>
    <nav>
        <a href="https://www.bing.com">Home</a>
        <a href="https://www.bing.com">Previous</a>
        <a href="https://www.bing.com">Next</a>
    </nav>
</body>
</html>
列表标签

<ul> 定义无序列表。

<ol> 定义有序列表。

<li> 定义列表的项目。

<dir> 不赞成使用。定义目录列表。

<dl> 定义定义列表。

<dt> 定义定义列表中的项目。

<dd> 定义定义列表中项目的描述。

<menu> 定义命令的菜单/列表。

<menuitem> 定义用户可以从弹出菜单调用的命令/菜单项目。

<command>[HTML5] 定义命令按钮。
示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h3>定义无序列表</h3>
    <ul>
        <li>无序项目一</li>
        <li>无序项目二</li>
        <li>无序项目三</li>
    </ul>
    <h3>定义有序列表</h3>
    <ol>
        <li>有序项目一</li>
        <li>有序项目二</li>
        <li>有序项目三</li>
    </ol>
    <h3>定义定义列表</h3>
    <dl>
        <dt>数学</dt>
        <dd>使人聪慧</dd>
        <dt>哲学</dt>
        <dd>使人深刻</dd></dd>
    </dl>
    <h3>menu/menuitem/command只在火狐浏览器下起作用,不做演示</h3>
</body>
</html>

表格标签

<table> 定义表格

<caption> 定义表格标题。

<th> 定义表格中的表头单元格。

<tr> 定义表格中的行。

<td> 定义表格中的单元。

<thead> 定义表格中的表头内容。

<tbody> 定义表格中的主体内容。

<tfoot> 定义表格中的表注内容(脚注)。

<col> 定义表格中一个或多个列的属性值。

<colgroup> 定义表格中供格式化的列组。

示例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <h3>表格标签</h3>
    <table width="100%" border="1">
        <col align="left" />
        <col align="left" />
        <col align="right" />
        <caption>表格的标题</caption>
        <thead>
            <tr>
                <th>表头单元格一</th>
                <th>表头单元格二</th>
                <th>表头单元格三</th>
            </tr>
        </thead>

        <tbody>
            <tr>
                <td>单元格一</td>
                <td>单元格二</td>
                <td>单元格三</td>
            </tr>
        </tbody>

        <tfoot>
            <tr>
                <td>表尾单元格一</td>
                <td>表尾单元格二</td>
                <td>表尾单元格三</td>
            </tr>
        </tfoot>

    </table>
</body>

</html>

样式/节点标签

<style> 定义文档的样式信息。

<div> 定义文档中块级节点。

<span> 定义文档中行内元素节点。

<header>[HTML5] 定义 section 或 page 的页眉。

<footer>[HTML5] 定义 section 或 page 的页脚。

<section>[HTML5] 定义 section。

<article>[HTML5] 定义文章。

<aside>[HTML5] 定义页面内容之外的内容。

<details>[HTML5] 定义元素的细节。

<dialog>[HTML5] 定义对话框或窗口。

<summary>[HTML5]<details> 元素定义可见的标题。

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{
            width: 100px;
            height: 100px;
            background-color: blueviolet;
        }
        span {
            width: 100px;
            height: 100px;
            background-color: yellow;
        }
    </style>
</head>
<body>
    <div>块级元素</div>
    <div>块级元素</div>
    <span>行内元素</span>
    <span>行内元素</span>
    <section>
        <header>页眉</header>
        <article>文章</article>
        <aside>定义页面内容之外的内容</aside>
        <footer>页脚</footer>
    </section>

    <details>
        <summary>为 details 元素定义可见的标题。</summary>
        定义元素的细节
    </details>

    <dialog>定义对话框或窗口</dialog>
</body>
</html>

元信息标签

<meta> 定义关于 HTML 文档的元信息。

<base> 定义页面中所有链接的默认地址或默认目标。

<basefont> 不赞成使用。定义页面中文本的默认字体、颜色或尺寸。

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="小张微站" content="HTML,ASP,PHP,SQL">
    <title>小张微站</title>
    <base href="https://www.bing.com" />
    <base target="_blank" />
</head>
<body>
    <h3>meta的定义和用法</h3>
    <h6>
        <meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。
<br>
        <meta> 标签位于文档的头部,不包含任何内容。<meta> 标签的属性定义了与文档相关联的名称/值对。
    </h6>

    <a href="">已定义跳转链接,且使用_blank方式跳转到http://www.iotzzh.com</a>
</body>
</html>

编程相关标签

<script> 定义客户端脚本。

<noscript> 定义针对不支持客户端脚本的用户的替代内容。

<applet> 不赞成使用。定义嵌入的 applet。

<embed>[HTML5] 为外部应用程序(非 HTML)定义容器。

<object> 定义嵌入的对象。

<param>定义对象的参数。

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <noscript></noscript>
</head>
<body>
    <div>盒子</div>
    <script>
        const box = document.querySelector('div');
        box.style.width = '100px';
        box.style.height = '100px';
        box.style.backgroundColor = 'red';
    </script>
    <noscript>Your browser does not support JavaScript!</noscript>
</body>
</html>

个别标签没有展示示例,有些是不推荐使用的,有些是未被各大浏览器采用的标签。除此之外,以上便是目前可使用的全部标签了,虽然很多时候div,span就足以完成你想要的界面,但是如果能让标签更具语义化,标签自身自带样式,省去你写不必要的css,这样子岂不是更好?

以上便是HTML标签的一个基本的分类和使用了,当然不同的标签内还有一些独有的属性在这就不一一详尽说明了。这里的实践这是对每个标签有个基本的认知,若想知道的更多,可以参考W3C School:https://www.w3school.com.cn/html/index.asp

关于我

  • 一个推崇全栈开发的前端开发人员

  • 微信: itrzzh

  • 公众号:全栈道

  • 个人网站:https://www.iotzzh.com

  • 知识星球:全栈道

  • B站:https://space.bilibili.com/285025688

  • 抖音:全栈道

  • github:https://github.com/iotzzh

  • gitee: https://gitee.com/iotzzh

捐赠鼓励

开源不易,如果《全栈道》对你有些帮助,可以请作者喝杯咖啡,算是对开源做出的一点点鼓励吧!