HTML5 语义化标签(移动端必备)


Posted in HTML / CSS onAugust 23, 2021

距HTML5标准规范制定完成并公开发布已经有好些年了,面试时也少不了要问对HTML5语义化得理解。但是在实际运用时,真正使用HTML5标签来开发的似乎不是很多(ps:查看了几个巨头公司网站推论),可能一部分原因是仍有部分用户使用在使用低版本浏览器。

但是就我个人而言,因选取一些标签时会比较纠结,所以仍使用了div。(PS:正是因为这样,才有了这篇文章的,没错,以后要注意语义化了)

什么是语义化?就是用合理、正确的标签来展示内容,比如h1~h6定义标题。

语义化优点:

易于用户阅读,样式丢失的时候能让页面呈现清晰的结构。
有利于SEO,搜索引擎根据标签来确定上下文和各个关键字的权重。
方便其他设备解析,如盲人阅读器根据语义渲染网页
有利于开发和维护,语义化更具可读性,代码更好维护,与CSS3关系更和谐。

今天先介绍主体结构标签,如图所示:

HTML5 语义化标签(移动端必备)

1、<header>

<header>定义文档或者文档的部分区域的页眉,应作为介绍内容或者导航链接栏的容器。

在一个文档中,您可以定义多个<header>元素,但需要注意的是<header>元素不能作为<address>、<footer> 或 <header> 元素的子元素。

2、<nav>

<nav>描述一个含有多个超链接的区域,该区域包含跳转到其他页面或页面内部其他部分的链接列表。

在一个文档中,可定义多个<nav>元素。

3、<main>

<main> 定义文档的主要内容,该内容在文档中应当是独一无二的,不包含任何在文档中重复的内容,比如侧边栏,导航栏链接,版权信息,网站logo,搜索框(除非搜索框作为文档的主要功能)。

需要注意的是在一个文档中不能出现多个<main>标签。

4、<article>

<article>元素表示文档、页面、应用或网站中的独立结构,是可独立分配的、可复用的结构,如在发布中,它可能是论坛帖子、杂志或新闻文章、博客、用户提交的评论、交互式组件,或者其他独立的内容项目。

当<article>元素嵌套使用时,则该元素代表与外层元素有关的文章。例如,代表博客评论的<article>元素可嵌套在代表博客文章的<article>元素中。

5、<aside>

<aside> 元素表示一个和其余页面内容几乎无关的部分,被认为是独立于该内容的一部分且可以被单独的拆分出来而不会影响整体。通常表现为侧边栏或嵌入内容。

6、<footer>

<footer>定义最近一个章节内容或者根节点元素的页脚。一个页脚通常包含该章节作者、版权数据或者与文档相关的链接等信息。

使用footer插入联系信息时,应在 footer 元素内使用 <address> 元素。

注意不能包含<footer>或者<header>

7、<section>

<section>表示文档中的一个区域(或节),比如,内容中的一个专题组。

如果元素内容可以分为几个部分的话,应该使用 <article> 而不是 <section>。
不要把 <section> 元素作为一个普通的容器来使用,特别是当<section>仅仅是为了美化样式或方便脚本使用的时候,应使用<div>。

这几个标签,比较容易混淆的是<section>、<article>,所以这里特别说明:

“Authors are encouraged to use the article element instead of the section element when it would make sense to syndicate the contents of the elemen.”

通俗来说就是<article>比<section>更具有独立性、完整性。可通过该段内容脱离了所在的语境,是否完整、独立来判断。

 
HTML / CSS 相关文章推荐
纯CSS绘制漂亮的圆形图案效果
May 07 HTML / CSS
一款纯css3实现的tab选项卡的实列教程
Dec 11 HTML / CSS
网页切图的CSS和布局经验与要点
Apr 09 HTML / CSS
CSS3 display知识详解
Nov 25 HTML / CSS
html5 兼容IE6结构的实现代码
May 14 HTML / CSS
html5菜单折纸效果
Apr 22 HTML / CSS
HTML5到底会有什么发展?HTML5的前景展望
Jul 07 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
Sep 14 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
Jul 12 HTML / CSS
关于html字符串正则判断和匹配的具体使用
Dec 12 HTML / CSS
html5中使用hotcss.js实现手机端自适配的方法
Apr 23 HTML / CSS
浅谈移动端中的视口(viewport)的具体使用
Apr 13 HTML / CSS
CSS3 Tab动画实例之背景切换动态效果
Aug 23 #HTML / CSS
CSS 使用 resize 实现图片拖拽切换预览功能(强大功能)
如何使用 resize 实现图片切换预览功能
Aug 23 #HTML / CSS
css中z-index: 0和z-index: auto的区别
Aug 23 #HTML / CSS
CSS Transition通过改变Height实现展开收起元素
Aug 07 #HTML / CSS
css3中transform属性实现的4种功能
Aug 07 #HTML / CSS
从QQtabBar看css命名规范BEM的详细介绍
Aug 07 #HTML / CSS
You might like
php加密之discuz内容经典加密方式实例详解
2017/02/04 PHP
PHP使用Redis实现防止大并发下二次写入的方法
2017/10/09 PHP
php依赖注入知识点详解
2019/09/23 PHP
一些有关检查数据的JS代码
2006/09/07 Javascript
Javascript 获取LI里的内容
2008/12/17 Javascript
window.location和document.location的区别分析
2008/12/23 Javascript
在chrome中window.onload事件的一些问题
2010/03/01 Javascript
有关于JS辅助函数inherit()的问题
2013/04/07 Javascript
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
js中各种类型的变量在if条件中是true还是false
2014/07/16 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
Angular8基础应用之表单及其验证
2019/08/11 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
利用python程序生成word和PDF文档的方法
2017/02/14 Python
理论讲解python多进程并发编程
2018/02/09 Python
python使用Pycharm创建一个Django项目
2018/03/05 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
对django 2.x版本中models.ForeignKey()外键说明介绍
2020/03/30 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
Django xadmin安装及使用详解
2020/10/26 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
办公室文秘自我评价
2013/09/21 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
车辆转让协议书
2014/09/24 职场文书
清洁工工作总结
2015/08/11 职场文书
丧事酒宴答谢词
2015/09/30 职场文书
Python实现天气查询软件
2021/06/07 Python
mysql实现将字符串字段转为数字排序或比大小
2022/06/14 MySQL