HTML5 语义元素(一)页面结构

  本篇主要介绍HTML5增加的语义元素中关于页面结构方面的,包含: <article>、<aside>、<figure>、<figcaption>、<footer>、<header>、<main>、<nav>、<section>等元素。

目录

1. 语义元素介绍

  1.1 何为语义元素

  1.2 特点

2. 原先界面布局

3. 页面结构语意元素

  3.1 说明

  3.2 详细介绍

  3.3 示例图

4. 旧版浏览器支持

  4.1 IE8以上

  4.2 IE8及IE8以下

1. 语义元素介绍

HTML5标准增加很多新的语意元素,若按种类来区分,有页面结构上的、文本内容上的、表单里的等等。

而这里主要介绍页面结构上的新元素。

1.1 何谓语意元素

简单来讲,语义元素就是为元素(标签)赋予某种意义,元素的名称就是元素要表达的意思。

如<header>表示页眉、<footer>表示页脚。

1.2 特点

①易于维护:使用语义元素将会有更清晰的页面结构信息,易于页面的后续维护。不需要再查看代码:找到div再找到具体的ClassName。

②无障碍性:有助于屏幕阅读器和其他辅助工具的读取。

③利于搜索引擎优化:搜索机器人在检查一些HTML5的语义元素后,可以收集其索引页面的信息。

2. 原先界面布局

在页面的布局中,<div>是一个非常多见的元素,配上一定的样式就可应用于特定场景,如页眉、侧边栏、导航栏等等。

为了方便维护,设计人员常给这些<div>赋值具有特殊名称的ClassName(样式类名)或ID。

例如一个表示页眉的<div>元素,其ClassName或ID可以为page-header、header等。

示例:

3. 页面结构语意元素

3.1 说明

页面结构的语意元素多用于页面的整体布局,大多数为块级元素,只是代替<div>使用,如:页眉、页脚等等。

而其自身没有特别的样式,还是需要搭配Css使用。

3.2 详细介绍

<header>:定义网页或文章的头部区域。可包含logo、导航、搜索条等内容。<详细资料>

  浏览器最低版本:IE 9、Chrome 5

使用说明:
①当用于标注网页的页眉时,可包含logo、导航、搜索条等信息。
②当用于标注内容的标题时,只有当标题还附带其他信息时才考虑用<header>,一般情况下用<h1>标注标题即可。

 

使用说明

<main> : 定义网页中的主体内容。<详细资料>

  浏览器最低版本:IE 不支持、Chrome 35

<footer>:定义网页或文章的尾部区域。可包含版权、备案等内容。<详细资料>

  浏览器最低版本:IE 9、Chrome 5

使用说明:
①作为网页的页脚时,通常包含网站版权、法律限制及链接等内容。
②作为文章的页脚时,通常包含作者相关信息。

使用说明

<nav>:标注页面导航链接。包含多个超链接的区域。<详细资料>

  浏览器最低版本:IE 9、Chrome 5

使用说明:
①一个页面可包含多个<nav>元素,如页面的导航和相关文章推荐等。
②<footer>区域里的联系信息、认证信息可不必包含在<nav>元素里。

使用说明

<section>:通常标注为网页中的一个独立区域。<详细资料>

  浏览器最低版本:IE 9、Chrome 5

使用说明:
①可作为网页中的独立区域,如文章中的一小节。

使用说明

<article>:完整、独立的内容块;里面可包含独立的<header>、<footer>等结构元素。如新闻、博客文章等独立的内容快(不包括评论或者作者简介)。<详细资料>

  浏览器最低版本:IE 9、Chrome 5

<aside>:定义周围主内容之外的内容块。如:注解。<详细资料>

  浏览器最低版本:IE 9、Chrome 5

<figure>:代表一段独立的内容, 经常与<figcaption>(表示标题)配合使用, 可用于文章中的图片、插图、表格、代码段等等。<详细资料>

  浏览器最低版本:IE 9、Chrome 8

<figcaption>:定义 <figure> 元素的标题。<详细资料>

  浏览器最低版本:IE 9、Chrome 8

3.3 示例图

4. 旧版浏览器支持

4.1 IE8以上

浏览器对不认识的元素会当做内联元素展示。而页面相关的语义元素都是块级元素,所以只需设置不支持这些元素的浏览器将它们显示为块级元素即可。

在样式中加入以下代码:

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{
    display: block;
}

 

4.2 IE8及IE8以下

IE8及IE8以下的浏览器不支持对无法识别的元素应用样式。

所以要通过JS创建这些语义元素,并附加基本的样式。

4.2.1 以header为例

<script>
    document.createElement('header');
</script>

4.2.2 应用外部文件

这些繁琐创建已经有雷锋写好了,只需在旧版的IE上加载就行。

<!–[if lt IE9]>
    <script src="//cdn.bootcss.com/html5shiv/r29/html5.min.js"></script>
<![endif]–>

更多版本(包含min版):html5shiv (v3.7.3) - html5shiv 是一个针对 IE 浏览器的 HTML5 JavaScript 补丁,目的是让 IE 识别并支持 HTML5 元素。 | BootCDN - Bootstrap 中文网开源项目免费 CDN 加速服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/29494.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue中如何进行移动端适配与响应式布局?

Vue中如何进行移动端适配与响应式布局&#xff1f; 如今&#xff0c;移动端适配与响应式布局已经成为Web开发中不可或缺的一部分。Vue.js作为一款流行的JavaScript框架&#xff0c;也提供了许多有用的工具和技术来实现移动端适配和响应式布局。在这篇文章中&#xff0c;我们将…

Stable-Diffusion|文生图 拍立得纪实风格的Lora 图例(三)

上篇【Stable-Diffusion|入门怎么下载与使用civitai网站的模型&#xff08;二&#xff09;】介绍了如何使用c站进行文生图&#xff0c;尤其一些Lora可能随时会下架&#xff0c;所以及时测试&#xff0c;及时保存很关键&#xff0c;更新一些笔者目前尝试比较有意思的Lora。 本篇…

hadoop基础(二)

JAVA客户端 环境搭建 创建Maven项目,添加Hadoop依赖. <dependencies><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId…

CTFHub | php://input

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习&#xff0c;实训平台。提供优质的赛事及学习服务&#xff0c;拥有完善的题目环境及配套 writeup &#xff0c;降低 CTF 学习入门门槛&#xff0c;快速帮助选手成长&#xff0c;跟随主流比赛潮流。 0x01 题目描述…

selenium:元素定位之xpath、css

元素定位是在做UI自动化测试中最重要的一环&#xff0c;要牢牢掌握定位的方法&#xff0c;才能更有效率的进行UI自动化测试。 常见的元素定位方式&#xff1a; idnametag_nameclass_namelink_textpartial_link_textxpathcss 其中id&#xff0c;name是具有唯一性的&#xff0…

用HTML5制作精美战机游戏

每天要被大学老师催H5作业&#x1f44f;&#x1f3fb;&#x1f44f;&#x1f3fb;&#x1f44f;&#x1f3fb; 不如看看本文&#xff0c;代码齐全&#xff0c;直接用来做参考案例&#x1f44c;&#x1f3fb; 干货满满不看后悔&#x1f44d;&#x1f44d;&#x1f44d; 代码…

最终版:1分钟自动部署数字人平台并提供web服务:唇形合成(wav2lip) + 超分修复(codeformer),

Demo效果 本文实现步骤:数字人形象(AI绘画) -> 文字转语音(谷歌tts) -> 表情迁移 -> 唇形合成 -> 视频超分 上述步骤所有技术均已在此专栏发布,可点击上方专栏查看具体博文 所有技术依赖环境及api接口均封装打包完毕,使用docker一键部署,预计耗时10分钟 原图 …

【unity】URP的shader开发中支持多光源,_ADDITIONAL_LIGHTS_VERTEX 和 _ADDITIONAL_LIGHTS 区别

项目里有一个其他同事实现的shader&#xff0c;美术那边希望能支持多个光源&#xff0c; 我一看代码里面&#xff0c; frag 函数里已经实现了 #ifdef _ADDITIONAL_LIGHTSuint pixelLightCount GetAdditionalLightsCount();for (uint lightIndex 0u; lightIndex < pixelL…

开源软件介绍——开源基金会和开源许可证

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天我们来看一看世界范围内知名的开源基金会和开源许可证。 开源基金会 基金会是开源生态中的一个重要组成部分&#xff0c;用于资金的筹集与开源项目的前期资助与后期的发展。这里将介绍部分重要基金会&am…

阿里云备案服务码申请方法流程

阿里云备案服务码是什么&#xff1f;ICP备案服务码怎么获取&#xff1f;阿里云备案服务码分为免费和付费两种&#xff0c;申请备案服务码是有限制条件的&#xff0c;需要你的阿里云账号下有可用于申请备案服务码的云产品&#xff0c;如云服务器、建站产品、虚拟主机等&#xff…

Nginx+Tomcat负载均衡、动静分离群集

文章目录 NginxTomcat负载均衡、动静分离群集一.Nginx应用二.部署案例过程&#xff08;7层反向代理&#xff09;关闭防火墙与selinux 1.部署Nginx负载均衡器&#xff08;7-3&#xff09;2.部署Tomcat应用服务器&#xff08;7-2&#xff09;3.部署Tomcat多实例应用服务器&#x…

简单学生管理系统

简单学生管理系统(Java)_封奚泽优的博客-CSDN博客https://blog.csdn.net/weixin_64066303/article/details/130667107?spm1001.2014.3001.5501 转载请注明出处&#xff0c;尊重作者劳动成果。 目录 前期准备&#xff1a; 数据库的连接&#xff1a; 用户账号类&#xff1a;…

集权设施管理-AD域安全策略(二)

活动目录&#xff08;AD&#xff09;凭借其独特管理优势&#xff0c;从众多企业管理服务中脱颖而出&#xff0c;成为内网管理中的佼佼者。采用活动目录来管理的内网&#xff0c;称为AD域。 了解AD域&#xff0c;有助于企业员工更好地与其它部门协作&#xff0c;同时提高安全意…

【游戏编程扯淡精粹】工作第三年总结

工作第三年总结 文章目录 工作第三年总结#1 做了什么自研路线Lua 脚本系统ToolX #2 职业发展如何做事技术中台化内卷的职业市场个人成长 #3 心态建设Owner vs 打工人 今年仍然是个人成长视角更多一些&#xff0c;额外新学到的重点是&#xff0c;借助团队力量 先介绍两个词&…

python生成日报

目录 一&#xff1a;日报生成工具二&#xff1a;日报工具使用方式三&#xff1a;最终日报生成展示 一&#xff1a;日报生成工具 #!/usr/bin/python # coding:utf8class GetHtml(object):def __init__(self):self._html_head """<html><body style&qu…

线性神经网络

线性神经网络 我们应该从线性神经网络开始&#xff0c;去逐步了解深度神经网络&#xff08;深度学习&#xff09;的各种复杂结构和底层原理。 1. 线性回归 用一个线性的模型来拟合数据与它们的标签之间的映射&#xff0c;用于回归问题。 1.1 构造线性模型&#xff1a; y ω…

Hibernate框架【一】——HIbernate框架介绍

系列文章目录 Hibernate框架【三】——基本映射——一对一映射 Hibernate框架【四】——基本映射——多对一和一对多映射 Hibernate框架【五】——基本映射——多对多映射 Hibernate框架介绍 系列文章目录前言一、什么是HIbernate框架Hibernate架构图Hibernate提供的核心功能和…

MIT 6.S081 (BOOK-RISCV-REV1)教材第三章内容

MIT 6.S081 教材第三章内容 引言页表分页硬件内核地址空间物理内存分配代码&#xff08;物理内存分配&#xff09;kinit函数kfree函数kalloc函数 代码&#xff1a;创建一个地址空间kvminit 函数kvmmap函数walk函数kvminithart函数procinit函数 进程地址空间代码&#xff1a;sbr…

Java企业级开发学习笔记(4.4)Spring Boot加载自定义配置文件

一、使用PropertySource加载自定义配置文件 1.1 创建Spring Boot项目 创建Spring Boot项目 单击【创建】按钮 1.2 创建自定义配置文件 在resources里创建myconfig.properties文件 设置文件编码 设置学生的四个属性值 1.3 创建自定义配置类 在cn.kox.boot包里创建confi…

npm发布自己的包

按照上面流程操作