常用语义化HTML标签
一、标签使用的误区
很多开发人员在项目开发中,经常标签乱用;本来是写个标题用“<h3>文本标题</h3>
”就好的,经常会写成<span>文本标题</span>
,其实,其实第一种写法才是WC3推荐的写法,因为标题就是标题,使用H1 至 H6标签才是正确选择。现在的网页布局方式都叫“DIV+CSS”,满屏代码都是“DIV”其实是一个错误的理解,导致了很多人过度依赖与滥用DIV标签, HTML提供了我们一共七八十个标签,其中常用的有三十个左右,DIV不过是一个相对的空标签而已,在很多情况下,我们可以使用其他更合适且更符合场景的标签可以替代它。
二、标签的差异
共性:都是一个容器,可以在其中放置内容
差异:分为行内和块级两个大类,且不同便签有相应含义上的预设语义,如:h-标题,p-段落,i-斜体,a-链接,b-加粗,等等
三、标签语义化的好处
a、让结构更简洁清晰,让搜索引擎更友好
b、通过多重组合,减少不必要的CSS依赖
四、语义化标签的使用
a、列表:ul、ol、li、dl、dt、dd
b、标题:h1~h6
c、段落:p
d、强调:strong,B
e、表格:table、tr、td,以及表格的其他成员th、thead、tbody、tfood
五、常用HTML标签表
<!--标签--> | 定义注释。 |
---|---|
<body> | 定义文档的主体,默认有外边距,注意清除。 |
<head> | 定义页面的信息。 |
<html> | 定义 HTML 文档。 |
<meta> | 定义页面的描述信息,便于搜索优化。 |
<title> | 定义文档的标题。 |
<link /> | 定义引用外部文件,如联入CSS样式表。 |
<style> | 定义内联的CSS样式信息。 |
<script> | 定义内联或外联的客户端脚本,如JS。 |
<a> | 定义锚链接或其他链接,行内元素。 |
<img /> | 定义引入一张图片,行内元素。 |
<strong> | 定义强调文本,样式为加粗,行内元素。 |
<span> | 定义一个行内元素的空盒子。 |
<div> | 定义一个块级元素的空盒子。 |
<h1> to <h6> | 定义标题部分,默认有外边距,块级元素。 |
<ul> | 定义无序列表,默认有外边距和内边距,块级元素。 |
<ol> | 定义有序列表,即数字列表,默认有内外边距,块级元素。 |
<li> | 定义列表的项目,一般被嵌套在<ul>和<ol>内,块级元素。 |
<dl> | 自定义列表的项目,默认有外边距和内边距,块级元素。 |
<dt> | 自定义列表的标题,嵌套在<dl>内,与<dd>区别,块级元素。 |
<dd> | 自定义列表的内容,嵌套在<dl>内,与<dt>区别,块级元素。 |
<p> | 定义段落,默认有一个行高的外边距。 |
<table> | 定义表格。 |
<tr> | 定义表格中的行。 |
<td> | 定义表格中的单元。 |
<th> | 定义表格中的表头单元格。 |
<thead> | 定义表格中的表头内容。 |
<tbody> | 定义表格中的主体内容。 |
<tfoot> | 定义表格中的表注内容(脚注)。 |
<br /> | 定义一个回车换行。 |
<map> | 定义图像映射,即鼠标热区。 |
<area> | 定义图像映射内部的区域。 |
<form> | 定义输入提交的表单。 |
<button> | 定义表单中的按钮 (push button)。 |
<input> | 定义表单中的输入控件。 |
<select> | 定义表单中的选择列表(下拉列表)。 |
<textarea> | 定义多行的文本输入控件标签 |
mark | 标记定义有标记的文本(黄色选中状态) |
<frame> | 定义框架集的窗口或框架。 |
标签 | 说明 |
---|---|
<article> | 标记定义一篇文章 |
<header> | 标记一个区域的头部 |
<nav> | 标记定义导航链接 |
<saction> | 标记定义一个区域 |
<aside> | 标记定义页面的内容部分的侧边栏(像淘宝,京东左侧菜单) |
<hgroup> | 标记定义文件中一个区块的相关信息 |
<figure> | 标记定义一组包裹多媒体内容以及它们的标题 |
<figcaption> | 标记定义figure元素的标题 |
<footer> | 标记一个区域的底部 |
<dialog> | 标记定义一个对话框(会话框)类似微信 |
<video> | 标记定义一个视频 |
<audio> | 标记定义音频内容 |
<source> | 标记定义媒体资源 |
<canvas> | 一个画布,使用API,可画出酷炫的效果 |
<embed> | 标记定义外部的可交互的内容或插件,比如flash |
<datalist> | 为input标记定义一个下拉列表,配合option使用 |
<details> | 标记定义一个元素的详细信息,配合summary使用 |