博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
标签语义化是对网页一种最好的表达
阅读量:7107 次
发布时间:2019-06-28

本文共 3106 字,大约阅读时间需要 10 分钟。

hot3.png

        前端时间看了一本书叫:《易读代码的艺术》,这本书写的很好,中心思想就是:你的代码别人读起来更快理解更易懂就是好的代码(代码的写法应当使别人理解它所需的时间最小化),我觉得这个思想和标签语义化的宗旨是相同的。那么标签的语义化是怎么做到的呢?

        学习html5,知道html5中增加了很多标签,这些标签是用来做什么的呢?可以说是对html中某个模块更加清晰的表达,选择一个最恰当最合适的标签,这样无论是谁都能看懂这块要表达什么,其实这就像是起class的名字一样,比如导航,我们习惯性的给起个名字class="nav",那么在html5中呢,有一个<nav>标签,不给它添加任何class我们也知道它表达的是导航,如此便更加方便了。

        那么是不是只有html5的标签语义化了呢,其实不然,html中很多标签都有自己的语义都有自己的适用范围,但往往会被我们忽略或者被我们滥用,比如我,我就经常习惯性的一直用div,在一个小的项目中还不以为然,在大型的项目中,div几千个几万个,其实div只是一个表层而已,非常不利于后期维护。所以这么多的标签,我们要大胆的使用,要恰当的使用。

标签语义化的好处

让你使用标签语义化的理由可以有无数条:

  1. 去掉样式或者样式丢失时页面结构依然清晰分明

  2. 移动设备能够更加完美的展示你的网页(移动设备对css的支持较弱)

  3. 阅读器会根据标签的语义自动

  4. 解析,呈现更容易阅读的内容形式(无障碍阅读)

  5. 搜索引擎会根据标签的语义确定上下文和权重问题

  6. 便于后期的开发以及维护,团队合作效率提高

  1. ……

HTML标签语义汇总

为了更快更好的运用标签语义化,下面的表单列出了所有的HTML标签以及标签的描述。以下列表按字母顺序排列,其中 new :为 HTML5 中的新标签。

标签 描述
<!–…–> 定义注释。
<!DOCTYPE> 定义文档类型。
<a> 定义超链接。
<abbr> 定义缩写。
<acronym> HTML 5 中不支持。定义首字母缩写。
<address> 定义地址元素。
<applet> HTML 5 中不支持。定义 applet。
<area> 定义图像映射中的区域。
<article> 定义 article。
<aside> 定义页面内容之外的内容。
<audio> 定义声音内容。
<b> 定义粗体文本。
<base> 定义页面中所有链接的基准 URL。
<basefont> HTML 5 中不支持。请使用 CSS 代替。
<bdi> 定义文本的文本方向,使其脱离其周围文本的方向设置。
<bdo> 定义文本显示的方向。
<big> HTML 5 中不支持。定义大号文本。
<blockquote> 定义长的引用。
<body> 定义 body 元素。
<br> 插入换行符。
<button> 定义按钮。
<canvas> 定义图形。
<caption> 定义表格标题。
<center> HTML 5 中不支持。定义居中的文本。
<cite> 定义引用。
<code> 定义计算机代码文本。
<col> 定义表格列的属性。
<colgroup> 定义表格列的分组。
<command> 定义命令按钮。
<datalist> 定义下拉列表。
<dd> 定义定义的描述。
<del> 定义删除文本。
<details> 定义元素的细节。
<dfn> 定义定义项目。
<dir> HTML 5 中不支持。定义目录列表。
<div> 定义文档中的一个部分。
<dl> 定义定义列表。
<dt> 定义定义的项目。
<em> 定义强调文本。
<embed> 定义外部交互内容或插件。
<fieldset> 定义 fieldset。
<figcaption> 定义 figure 元素的标题。
<figure> 定义媒介内容的分组,以及它们的标题。
<font> HTML 5 中不支持。
<footer> 定义 section 或 page 的页脚。
<form> 定义表单。
<frame> HTML 5 中不支持。定义子窗口(框架)。
<frameset> HTML 5 中不支持。定义框架的集。
<h1> to <h6> 定义标题 1 到标题 6。
<head> 定义关于文档的信息。
<header> 定义 section 或 page 的页眉。
<hgroup> 定义有关文档中的 section 的信息。
<hr> 定义水平线。
<html> 定义 html 文档。
<i> 定义斜体文本。
<iframe> 定义行内的子窗口(框架)。
<img> 定义图像。
<input> 定义输入域。
<ins> 定义插入文本。
<keygen> 定义生成密钥。
<isindex> HTML 5 中不支持。定义单行的输入域。
<kbd> 定义键盘文本。
<label> 定义表单控件的标注。
<legend> 定义 fieldset 中的标题。
<li> 定义列表的项目。
<link> 定义资源引用。
<map> 定义图像映射。
<mark> 定义有记号的文本。
<menu> 定义菜单列表。
<meta> 定义元信息。
<meter> 定义预定义范围内的度量。
<nav> 定义导航链接。
<noframes> HTML 5 中不支持。定义 noframe 部分。
<noscript> 定义 noscript 部分。
<object> 定义嵌入对象。
<ol> 定义有序列表。
<optgroup> 定义选项组。
<option> 定义下拉列表中的选项。
<output> 定义输出的一些类型。
<p> 定义段落。
<param> 为对象定义参数。
<pre> 定义预格式化文本。
<progress> 定义任何类型的任务的进度。
<q> 定义短的引用。
<rp> 定义若浏览器不支持 ruby 元素显示的内容。
<rt> 定义 ruby 注释的解释。
<ruby> 定义 ruby 注释。
<s> HTML 5 中不支持。定义加删除线的文本。
<samp> 定义样本计算机代码。
<script> 定义脚本。
<section> 定义 section。
<select> 定义可选列表。
<small> 将旁注 (side comments) 呈现为小型文本。
<source> 定义媒介源。
<span> 定义文档中的 section。
<strike> HTML 5 中不支持。定义加删除线的文本。
<strong> 定义强调文本。
<style> 定义样式定义。
<sub> 定义下标文本。
<summary> 定义 details 元素的标题。
<sup> 定义上标文本。
<table> 定义表格。
<tbody> 定义表格的主体。
<td> 定义表格单元。
<textarea> 定义 textarea。
<tfoot> 定义表格的脚注。
<th> 定义表头。
<thead> 定义表头。
<time> 定义日期/时间。
<title> 定义文档的标题。
<tr> 定义表格行。
<track> 定义用在媒体播放器中的文本轨道。
<tt> HTML 5 中不支持。定义打字机文本。
<u> HTML 5 中不支持。定义下划线文本。
<ul> 定义无序列表。
<var> 定义变量。
<video> 定义视频。
<xmp> HTML 5 中不支持。定义预格式文本。

转载于:https://my.oschina.net/mayanli/blog/381656

你可能感兴趣的文章
2017年要学习的三个CSS新特性
查看>>
C#的Unit Test如何根据exception来判断函数是否执行正确
查看>>
SQL优化
查看>>
RMAN 还原与恢复
查看>>
mysql 远程连接数据库的二种方法
查看>>
[你必须知道的.NET]第二十一回:认识全面的null
查看>>
Lexus Extroic OpenCart 2.X 自适应主题模板 ABC-0648-01
查看>>
awk案例
查看>>
linux中vmstat命令详解
查看>>
软件测试基础知识整理三----白盒测试
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number
查看>>
linux网卡操作命令 ,查看Linux下网卡连接状态(up还是down)?
查看>>
CCNP学习之路之RSTP快速生成树协议
查看>>
yum安装与源码安装比较
查看>>
【C语言】第一个C语言小程序 —— 日期算法和万年历
查看>>
《高性能MySQL》學習筆記--索引
查看>>
BZOJ4894:天赋(矩阵树定理)
查看>>
Linux自动执行sh脚本
查看>>