Web前端入门第 11 问:HTML 常用标签有多少?全量标签有多少?
HELLO,这里是大熊学习前端开发的入门笔记。
本系列笔记基于 windows 系统。
截止发文,MDN 收录的 HTML 全量标签有 126 个,有 18 个标记已弃用。
名词解释:MDN --- MDN Web Docs ( 前身为 Mozilla Developer Network ) 是一个开源的、由 Mozilla 基金会创建和维护的 Web 开发者资源库。
HTML 常用标签
根据大数据统计,在开发中常用的标签有 60 个左右,按功能区分如下:
- 文档结构标签
<!DOCTYPE>:文档类型声明
<html>:根元素
<head>:文档头部(包含元数据)
<title>:页面标题
<body>:文档主体内容
- 元数据与资源标签
<meta>:元信息(字符集、视口设置等)
<link>:引入外部资源(CSS、图标)
<style>:内联 CSS
<script>:JavaScript 代码或引用
- 语义化标签(HTML5)
<header>:页眉
<footer>:页脚
<nav>:导航栏
<article>:独立内容
<section>:内容区块
<aside>:侧边栏
<main>:主体内容
<menu>:交互式无序列表内容
<figure>、<figcaption>:图片/图表与说明
- 容器与布局标签
<div>:通用块级容器
<span>:通用行内容器
- 文本与段落标签
<h1>-<h6>:标题
<p>:段落
<span>:行内文本容器
<br>:换行
<hr>:水平分割线
<pre>:保留格式文本
<strong>:强调(粗体)
<em>:强调(斜体)
<blockquote>:长引用
- 链接与媒体标签
<a>:超链接
<img>:图片
<video>:视频
<audio>:音频
<source>:媒体资源(配合 video/audio 使用)
- 列表标签
<ul>:无序列表
<ol>:有序列表
<li>:列表项
<dl>、<dt>、<dd>:定义列表
- 表单与输入标签
<form>:表单容器
<input>:输入控件(文本、密码、按钮等)
<textarea>:多行文本输入
<select>、<option>:下拉选择
<label>:表单标签
<button>:按钮
<fieldset>、<legend>:表单分组
- 表格标签
<table>:表格
<tr>:表格行
<td>:单元格
<th>:表头单元格
<thead>、<tbody>、<tfoot>:表格结构
- 图形渲染
<canvas>: 2D 、3D 图形及图形动画绘制
- 内嵌框架元素
<iframe>:嵌入三方页面
总结
标签那么多,是不是光 HTML 都够喝一壶了?还学啥 css,js ?
说实话,除了功能性标签(1,2,4,6,8,10,11 中列出的标签,大约27个)无法替代,其他标签嘛...一言难尽!
就浏览器端渲染的 vue 项目来说,就一个 div 标签就可行走天下了。
推荐学习资源
MDN:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/a
w3school: https://www.w3school.com.cn/cssref/css_entities.asp
常用标签使用示例
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HTML 常用标签一览</title>
<link rel="shortcut icon" href="https://www.baidu.com/favicon.ico" type="image/x-icon">
<style>
body {
font-size: 14px;
}
</style>
</head>
<body>
<h3>3. 语义化标签(HTML5)</h3>
<header>页眉</header>
<footer>页脚</footer>
<nav>导航栏</nav>
<article>独立内容</article>
<section>内容区块</section>
<aside>侧边栏</aside>
<main>主体内容</main>
<menu>
<li><button id="share">交互式无序列表内容</button></li>
</menu>
<figure>
<img src="https://interactive-examples.mdn.mozilla.net/media/cc0-images/elephant-660-480.jpg"
alt="Elephant at sunset" />
<figcaption>图片/图表与说明</figcaption>
</figure>
<h3>4. 容器与布局标签</h3>
<div>通用块级容器</div>
<span>通用行内容器</span>
<h3>5. 文本与段落标签</h3>
<h1>1级标题</h1>
<h2>2级标题</h2>
<h3>3级标题</h3>
<h4>4级标题</h4>
<h5>5级标题</h5>
<h6>6级标题</h6>
<p>段落</p>
<span>行内文本容器</span>
<br>换行</br>
<hr>水平分割线</hr>
<pre>保留格式文本</pre>
<strong>强调(粗体)</strong>
<em>强调(斜体)</em>
<blockquote>长引用</blockquote>
<h3>6. 链接与媒体标签</h3>
<a href="https://www.baidu.com">超链接</a>
<img src="https://interactive-examples.mdn.mozilla.net/media/cc0-images/elephant-660-480.jpg"
alt="Elephant at sunset">图片</img>
<video controls width="250">
<source src="https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm" type="video/webm" />
<source src="https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4" type="video/mp4" />
</video>
<div>视频</div>
<audio controls src="https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3"></audio>
<div>音频</div>
<h3>7. 列表标签</h3>
<ul>
<li>无序列表项</li>
<li>无序列表项</li>
</ul>
<ol>
<li>有序列表项</li>
<li>有序列表项</li>
</ol>
<dl>
<dt>定义列表 dt</dt>
<dd>定义列表 dd</dd>
<dt>定义列表 dt</dt>
<dd>定义列表 dd</dd>
</dl>
<h3>8. 表单与输入标签</h3>
<form action="/submit-form" method="post">
<fieldset>
<legend>用户信息</legend>
<label for="username">用户名:</label>
<input type="text" id="username" name="username" required>
<br><br>
<label for="email">电子邮件:</label>
<input type="email" id="email" name="email" required>
<br><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password" required>
<br><br>
<label for="bio">个人简介:</label>
<textarea id="bio" name="bio" rows="4" cols="50"></textarea>
<br><br>
<label for="gender">性别:</label>
<select id="gender" name="gender" required>
<option value="">请选择</option>
<option value="male">男</option>
<option value="female">女</option>
<option value="other">其他</option>
</select>
<br><br>
<button type="submit">提交</button>
<button type="reset">重置</button>
</fieldset>
</form>
<h3>9. 表格标签</h3>
<table>
<thead>
<tr>
<th>序号</th>
<th>姓名</th>
<th>年龄</th>
<th>城市</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>张三</td>
<td>28</td>
<td>北京</td>
</tr>
<tr>
<td>2</td>
<td>李四</td>
<td>34</td>
<td>上海</td>
</tr>
<tr>
<td>3</td>
<td>王五</td>
<td>22</td>
<td>广州</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="4">总计人数: 3</td>
</tr>
</tfoot>
</table>
<h3>10. 图形渲染</h3>
<canvas id="myCanvas"></canvas> 2D 、3D 图形及图形动画绘制(需要JS能力)
<h3>11. 内嵌框架元素</h3>
<!-- <iframe src="https://www.baidu.com/"></iframe> -->
<iframe src="./example-11.html"></iframe>
<script>
console.log('Hello World!')
const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');
// 设置画笔颜色
ctx.strokeStyle = 'blue';
// 开始路径
ctx.beginPath();
// 圆心位置 (x, y), 半径, 起始角度, 结束角度, 方向 (true为顺时针, false为逆时针)
ctx.arc(150, 75, 50, 0, Math.PI * 2, false);
// 闭合路径
ctx.closePath();
// 描边
ctx.stroke();
</script>
</body>
</html>
参考资料:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/a
Web前端入门第 11 问:HTML 常用标签有多少?全量标签有多少?的更多相关文章
- web前端关于html转义符的常用js函数
web前端关于html转义符的常用js函数 //去掉html标签 function removeHtmlTab(tab) { return tab.replace(/<[^<>]+? ...
- web前端入坑第五篇:秒懂Vuejs、Angular、React原理和前端发展历史
秒懂Vuejs.Angular.React原理和前端发展历史 2017-04-07 小北哥哥 前端你别闹 今天来说说 "前端发展历史和框架" 「前端程序发展的历史」 「 不学自知, ...
- Android零基础入门第11节:简单几步带你飞,运行Android Studio工程
原文:Android零基础入门第11节:简单几步带你飞,运行Android Studio工程 之前讲过Eclipse环境下的Android虚拟设备的创建和使用,现在既然升级了Android Studi ...
- Web前端开发最佳实践(5):正确闭合HTML标签,停止使用不标准的标签和属性
正确闭合HTML标签 HTML元素的内容模型定义了元素的结构,表明元素可以包含哪些内容以及元素可以有哪些属性.元素可以包含的内容包括其他元素和字符,但是也有一些元素是空元素,即不能包含任何内容,这些元 ...
- web前端入坑第二篇:web前端到底怎么学?干货资料! 【转】
http://blog.csdn.net/xllily_11/article/details/52145172 版权声明:本文为博主[小北]原创文章,如要转载请评论回复.个人前端公众号:前端你别闹,J ...
- Android程序员学WEB前端(1)-HTML(1)-标准结构常用标签-Sublime
转载请注明出处:http://blog.csdn.net/iwanghang/article/details/76522043觉得博文有用,请点赞,请评论,请关注,谢谢!~ 8月份了,换工作有2个月了 ...
- Android零基础入门第25节:最简单最常用的LinearLayout线性布局
原文:Android零基础入门第25节:最简单最常用的LinearLayout线性布局 良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认 ...
- Android零基础入门第38节:初识Adapter
原文:Android零基础入门第38节:初识Adapter 在上一节一起了解了ListView的简单使用,那么本节继续来学习与ListView有着千丝万缕的Adapter. 一.了解MVC模式 在开始 ...
- Android零基础入门第88节:Fragment显示和隐藏、绑定和解绑
在上一期我们学习了FragmentManager和FragmentTransaction的作用,并用案例学习了Fragment的添加.移除和替换,本期一起来学习Fragment显示和隐藏.绑定和解绑. ...
- Android零基础入门第76节:Activity数据保存和横竖屏切换
在前面几期学习了Activity的创建.配置.启动和停止,还学了Activity的生命周期,本期一起来学习Activity有关的更多事儿. 一.数据保存 通过上一期 LogCat 窗口打印的日志可以看 ...
随机推荐
- kubernetes更改nodePort模式下的默认端口范围
使用nodePort模式,官方默认范围为30000-32767,详见Service官方文档. NodePort 类型如果将 type 字段设置为 NodePort,则 Kubernetes 控制平面将 ...
- 利用GmSSL制作SM2国密证书
Part 0前言 GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法.SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密 ...
- Thrift中enum的一些探究
http://anruence.com/2018/06/27/enum-thrift/ 问题 在用注解定义的Thrift enum 中,如果客户端端和服务端的enum定义不同,比如调换了enum中的枚 ...
- python 根据中文表头标题抓取动态(表格)文档数据
思路 如图左侧表头标题,要获得右侧数据.网页数据提取成汉字,表格数据间会有空格,用split()分隔成list.用index()查找某个汉字表头位置,输出list下一个位置既是要得到值 text2 = ...
- Solon v3.0.5 发布!(Spring 生态可以退休了吗?)
Solon 框架! 新一代,面向全场景的 Java 应用开发框架.从零开始构建(非 java-ee 架构),有灵活的接口规范与开放生态. 追求: 更快.更小.更简单 提倡: 克制.高效.开放.生态 有 ...
- Qt/C++推流程序自动生成网页远程查看实时视频流(视频文件/视频流/摄像头/桌面转成流媒体rtmp+hls+webrtc)
一.前言说明 推流程序将视频流推送到流媒体服务器后,此时就等待验证拉流播放,一般可以选择ffplay命令行播放或者vlc等播放器打开播放,也可以选择网页直接打开拉流地址播放,一般主流的浏览器都支持网页 ...
- 在CLion中如何为CMakeLists.txt文件添加第三方依赖库
cmake_minimum_required(VERSION 3.5)project(ImageBasedModellingEdu)set(CMAKE_MODULE_PATH "${CMAK ...
- SSM或Spring Boor开发中@Repository和@Mapper的区别
在做一个SpringBoot项目的时候在Dao层使用了@Repository注解然后报了这个错: Description: Field userService in com.example.demo. ...
- IM开发快速入门(一):什么是IM系统?
本文在编写时参考了博客作者"鹿呦呦"和在线课程"即时消息技术剖析与实战"的相关资料,一并表示感谢. 1.系列文章引言 IM系统看似简单(没错,很多土老板认为开发 ...
- Discord技术架构调研(IM即时通讯技术架构分析)
一.目标 调研 discord 的整体架构,发掘可为所用的设计思想 二.调研背景 Discord作为目前比较火的一个在线聊天和语音通信平台且具有丰富的功能.另外其 "超级"群 概念 ...