HTML5 新增元素

news2025/5/14 22:43:26

文章目录

  • HTML5 新增元素
    • 概述
    • header
    • nav
    • article
    • aside
    • section
    • footer
    • 表单元素
      • 新增type属性值(验证型)
      • 新增type属性值(取值型)
      • output元素
    • address
    • progress
    • meter
    • figure 和 figcaption
    • fieldset 和 legend
    • a
    • script

HTML5 新增元素

概述

HTML5新增的主要结构元素有6个:header、nav、article、aside、section、footer。

header

在HTML5中,header元素一般用于3个地方:

  • 页面头部:如网站名称、页面LOGO、顶部导航、介绍信息等。
  • 文章头部(article元素):文章标题、meta信息(一般指作者、点赞数、评论数)。
  • 区块头部(section元素):标题。
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <header></header>
        <nav></nav>
        <article>
            <header></header>
            ……
            <footer></footer>
        </article>
        <aside></aside>
        <section>
            <header></header>
            ……
        </section>
        <footer></footer>
    </body>
</html>

在这里插入图片描述

nav

在HTML5中,nav元素一般用于3个地方:

  • 顶部导航:nav元素既可以放到header元素内部,也可以放到header元素外部。
  • 侧栏导航。
  • 分页导航。

article

在HTML5中,article元素一般只会用于一个地方:文章内容部分。

可以把article看成一个独立的部分,它内部可以包含标题以及其他部分。也就是说,article元素内部可以包含header元素、section元素和footer元素等。

<article>
    <header>
        <h1>HTML5是什么?</h1>
        <p>作者、点赞、评论、浏览……</p>
    </header>
    <div id="content">文章内容……</div>
    <footer>
        <nav>上一篇、下一篇导航</nav>
    </footer>
</article>

aside

在HTML5中,aside元素一般用于表示跟周围区块相关的内容,正确地使用aside元素,主要取决于它的使用位置,我们大体可以分为以下两种情况:

  • 如果aside元素放在article元素或section元素之中,则aside内容必须与article内容或section内容紧密相关。
  • 如果aside元素放在article元素或section元素之外,则aside内容应该是与整个页面相关的,比如相关文章、相关链接、相关广告等。

section

在HTML5中,section元素一般用于某一个需要标题内容的区块。如果页面某个区块不需要标题,直接使用div元素就可以了。如果需要标题,则建议使用section元素。

HTML5标准建议,section元素内部必须带有标题,也就是说,section元素内部必须带有一个header元素。

<section>
    <header>工具手册</header>
    <ul>
        <li>HTML5参考手册</li>
        <li>CSS3参考手册</li>
        <li>JavaScript参考手册</li>
    </ul>
</section>

footer

在HTML5中,footer元素一般用于两个地方:

  • 一个是“页面底部”:一般包含友情链接、版权声明、备案信息等。
  • 另一个是“文章底部”:footer元素一般包含“上一篇/下一篇导航”“文章分类”“发布信息”等。
<article>
    <header>
        <h1>HTML5是什么?</h1>
        <p>作者、点赞、评论、浏览……</p>
    </header>
    <div id="content">文章内容……</div>
    <footer>
        <nav>上一篇、下一篇导航</nav>
    </footer>
</article>

表单元素

新增type属性值(验证型)

属性值说明
email邮政类型
tel电话类型
urlURL类型
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<form>
			<p><label>电子邮件:<input type="email"></label></p>
			<p><label>电话号码:<input type="tel"></label></p>
			<p><label>你的网址:<input type="url"></label></p>
			<input type="submit" value="提交">
		</form>
	</body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

新增type属性值(取值型)

属性值说明
range取数字,滑块样式
number取数字,微调样式
color取颜色
date取日期
time取时间
month取月份
week取周数
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script type="text/javascript">
			window.onload = function() {
				var number1 = document.querySelector("input[type='range']").value;
				console.log(number1);
				var number2 = document.querySelector("input[type='number']").value;
				console.log(number2);
				var color = document.querySelector("input[type='color']").value;
				console.log(color);
				var date = document.querySelector("input[type='date']").value;
				console.log(date);
				var time = document.querySelector("input[type='time']").value;
				console.log(time);
			}
		</script>
	</head>
	<body>
		<form>
			<p><label>取值:<input type="range" min="0" max="100" step="10" value="20"></label></p>
			<p><label>取值:<input type="number" min="0" max="100" step="10" value="30"></label></p>
			<p><label>取颜色:<input type="color" value="#ff557f"></label></p>
			<p><label>取日期:<input type="date" value="2008-08-09"></label></p>
			<p><label>取时间:<input type="time" value="06:07"></label></p>
			<p><label>取月份:<input type="month" value="2008-09"></label></p>
			<p><label>取周数:<input type="week" value="2008-W09"></label></p>
			<input type="submit" value="提交">
		</form>
	</body>
</html>

在这里插入图片描述

output元素

在HTML5中,我们可以使用output元素来定义表单元素的输出结果或计算结果。

output元素是一个行内元素,只不过它比span元素更具有语义化。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script>
			window.onload = function() {
				var input = document.querySelector("input[type='range']");
				var output = document.getElementsByTagName("output")[0];
				output.value = input.value;
				input.onchange = function() {
					output.value = input.value;
				}
			}
		</script>
	</head>
	<body>
		<form>
			<input type="range" min="0" max="100" step="5">
			<output></output>
		</form>
	</body>
</html>

address

在HTML5中,address元素一般用于两个地方:

  • 当address元素应用于整个页面时,它一般放于整个页面的底部(footer元素内部),表示该网站所有者的地址信息。
  • 一个页面可以有多个article元素,比如有些页面就有好几篇文章。当address元素应用于article元素时,它一般放在article元素内部的footer元素内,表示该篇文章所有者的地址信息。当然,address元素也可以放于section元素内。
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <header></header>
        <nav></nav>
        <article>
            <header>作者:mozilla</header>
            <p>这是第2篇文章的内容……</p>
            <footer>
                <address>
                    你可以通过<a href="mailto:webmaster@somedomain.com">mailto:webmaster@somedomain.com</a>联系作者:mozilla。
                </address>
            </footer>
        </article>
        <aside></aside>
        <footer>
            <address>
                如果你发现网站有bug,可以通过<a href="mailto:lvyestudy@foxmail.com"> 电子邮件 </a>联系我们。<br/>
                当然你也可以通过下面地址访问我们:<br/>
                广州市黄埔大道601号暨南大学.
            </address>
        </footer>
    </body>
</html>

progress

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <progress max="10" value="8"></progress><br/>
        <progress max="100" value="80"></progress>
    </body>
</html>

在这里插入图片描述

meter

meter元素跟progress元素非常相似,都是以进度条形式来显示数据比例。不过,两者在语义上有很大的区别:

  • meter元素一般用于显示静态数据比例。所谓的静态数据,指的是很少改变的数据,例如男生人数占全班人数的比例。
  • progress元素一般用于显示动态数据比例。所谓“动态数据”,指的是会不断改变的数据,例如下载文件的进度。
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<meter min="0" max="10" value="8"></meter><br />
		<meter min="0" max="100" value="80"></meter>
	</body>
</html>

在这里插入图片描述

figure 和 figcaption

figure元素用于包含图片和图注,figcaption元素用于表示图注文字。在实际开发中,对于“图片+图注”效果,我们都建议使用figure和figcaption这两个元素来实现,从而使得页面的语义更加良好。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			figure {
				width: 100px;
				text-align: center;
				border: 1px solid red;
			}
		</style>
	</head>
	<body>
		<figure>
			<img src="img/apple_pic.png" alt="黑夜">
			<figcaption>hello</figcaption>
		</figure>
	</body>
</html>

在这里插入图片描述

fieldset 和 legend

在HTML5中,我们还可以使用fieldset元素来给表单元素进行分组。其中,legend元素用于定义某一组表单的标题。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<form action="index.php" method="post">
			<fieldset>
				<legend>hello</legend>
				<p>
					<label for="name">账号:</label>
					<input type="text" id="name" name="name" />
				</p>
				<p>
					<label for="pwd">密码:</label>
					<input type="password" id="pwd" name="pwd" />
				</p>
				<input type="checkbox" id="remember-me" name="remember-me" />
				<label for="remember-me">记住我</label>
				<input type="submit" value="登录" />
			</fieldset>
		</form>
	</body>
</html>

在这里插入图片描述

a

HTML5为a元素新增了3个属性。

属性说明
download定义可被下载的目标(如文件、图片等)
media定会被链接文档为何种媒介/设备优化的
type定义被链接文档的MIME类型

其中media和type这两个属性用得很少,我们只需要掌握download这一个属性即可。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title></title>
</head>
<body>
  <a href="img/a.png" download="hello.png">下载图片</a>
</body>
</html>

当我们点击超链接后,浏览器就会下载该图片,并且图片名字换成新的文件名hello.png。如果我们改为下面这句代码,也就是省略download属性值,则图片会使用旧的文件名a.png。

script

HTML5为script元素新增了两个属性:defer和async。

这两个属性的作用都是加快页面的加载速度,两者区别如下:

  • defer属性用于异步加载外部JavaScript文件,当异步加载完成后,该外部JavaScript文件不会立即执行,而是等待到整个HTML文档加载完成才会执行。
  • async属性用于异步加载外部JavaScript文件,当异步加载完成后,该外部JavaScript文件会立即执行,即使整个HTML文档还没有加载完成。

defer和async都是异步加载的,两者区别在于,异步加载外部JavaScript文件完成后何时执行。从上面也可以看出,defer属性相对于async属性来说,更符合大多数开发场景对脚本加载执行的要求。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script src="js/async.js" async></script>
    </head>
    <body>
        <script>
            console.log("内部脚本");
        </script>
    </body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BOM对象

1、什么是BOM BOM&#xff08;Browser Object Model&#xff09;即浏览器对象模型&#xff0c;它提供了独立于内容而与浏览器窗口进行交互的对象&#xff0c;其核心对象是 window。 BOM 由一系列相关的对象构成&#xff0c;并且每个对象都提供了很多方法与属性。 BOM 缺乏标…

B端产品-筛选功能如何设计

相信大家在设计B端产品时&#xff0c;最常打交道的就是列表&#xff0c;而列表最常用的一个功能就是搜索&#xff0c;别小看一个简简单单的搜索功能&#xff0c;其实里边的门道也是有很多的。那么如何设计一个好用的搜索栏呢&#xff1f;今天就与大家分享一下&#xff0c;自己负…

【动态规划篇】最少分割回文 编辑距离 不同的子序列

&#x1f320;作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《数据结构与算法要啸着学》 &#x1f387;座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录&#x1f449;…

音视频技术开发周刊 | 277

每周一期&#xff0c;纵览音视频技术领域的干货。新闻投稿&#xff1a;contributelivevideostack.com。GNNear&#xff1a;基于近内存处理的大规模图神经网络训练加速器图神经网络(GNNs)已经成为分析非欧几里得图数据的最新算法。然而&#xff0c;实现高效的GNN训练是一项挑战&…

西门子1513CPU冗余组态

西门子1513R冗余配置 1、打开博图16软件&#xff0c;新建项目&#xff0c;添加新设备&#xff0c;在弹出的控制器目录下找到CPU 1513R-1 PN硬件&#xff0c;然后系统自动生成PLC_1和PLC_2&#xff1b; 2、打开设备组态中的网络视图&#xff0c;添加接口模块&#xff1b; 3、在…

Springboot 统计 代码执行耗时时间 ,玩法多到眼花

前言 近日群里有萌新提到关于统计代码执行时间的事&#xff1a; 开始 System.currentTimeMillis() 减去 结束 System.currentTimeMillis() 等于 耗时 其实我个人感觉OK的&#xff0c;就这样就蛮好的&#xff0c;很多项目都是这样用的。 简简单单的挺好。 这一篇就是 …

基于Java( jsp+servlet+javabean)+SQL sever 2017实现(Web)高校选课管理系统【100010058】

一、需求分析 开发意义&#xff1a; 随着信息技术不断向深入发展&#xff0c;越来越多的学校开始着手信息化建设。其中学生选课、成绩信息化管理就是其中重要的一块内容。学生选课与成绩信息规模大、项目条数多、信息量庞大&#xff0c;传统的人工管理方式显然已经无法满足要求…

买不到的数目(蓝桥杯C/C++A组真题详解)

题目详细&#xff1a; 题目思路&#xff1a; 对于这个题有一个定理 如果 a,b 均是正整数且互质&#xff0c;那么由 axby&#xff0c;x≥0&#xff0c;y≥0 不能凑出的最大数是 &#xff1a; a*b-a-b 具体的证明过程这里就不赘述 感兴趣的同学可以自行查找 这里就提供一种思…

rk3568 | rk平台GPIO冲突检测小技巧

上一篇我们讲解了如何编写gpio驱动&#xff0c;但是实际操作中&#xff0c;经常发现gpio引脚被占用的情况发生&#xff0c;那么本篇文章就详细讲解rxw平台下如何快速定位gpio复用问题以及如何解决。 一、GPIO寄存器查找 要想查看某个GPIO引脚可以配置的功能以及地址信息&…

Http协议基础

Http 是什么&#xff1f; Http 作为 WWW 的重要组成部分被提出 (World Wide Web) 而当时的 WWW 是为了帮助研究者更好的进行知识共享 基本理念&#xff1a;文档之间的相互关联形成超文本&#xff0c;最终连成相互参阅的 WWW Http (Hyper Text Transfer Protocol) 用于定义文…

QUIC的优势与缺陷

被寄予厚望的下一代互联网传输协议&#xff0c;QUIC究竟有哪些优点呢&#xff1f; 总结如下&#xff1a; 多路复用&#xff1a;QUIC升华了HTTP/2中的多路复用技术&#xff0c;实现了基于互相独立的多流&#xff08;多通道&#xff09;数据传输&#xff0c;从根本上解决了TCP存在…

基于C语言学生信息教务管理系统编程设计

一.实现功能 1.从键盘添加学生信息 2.从文件添加学生信息 3.显示学生信息到屏幕 4.显示学生信息到文件 5.删除学生信息 6.插入学生信息 7.查找学生信息 8.成绩排名 二、相关代码 #include<stdio.h> #include<stdlib.h> //使用malloc函数以及exit函数 #include<…

力扣(LeetCode)1759. 统计同构子字符串的数目(C++)

题目描述 双指针数学 根据同构字符串的定义&#xff0c;还有示例&#xff0c;发现同构子字符串的数量&#xff0c;只和字母相同的区间有关。如abbcccaa&#xff0c;有 444 个影响答案的区间&#xff0c;直观切分为a bb ccc aa&#xff0c;用空格划分区间。遍历的任务就是维护这…

灵动岛前端Ui

一、前言 灵动岛&#xff08;Dynamic Island &#xff09;是什么&#xff1f; 灵动岛&#xff0c;是苹果公司iPhone 14 Pro系列 [2] 交互UI&#xff0c;让虚拟软件和硬件的交互变得更为流畅。当有来电、短信等通知时&#xff0c;灵动岛会变化它的形态&#xff0c;以便让用户能…

【大数据】M1 mac win docker安装kafka+mysql+canal

文章目录kafkadocker-compose创建kafka容器启动以后&#xff0c;访问容器&#xff0c;并且发送消息测试问题Exception in thread "main" kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state: CONNECTINGmysqldocker…

LAPS本地管理员密码之使用PowerShell查看和重置密码

目录 一、PowerShell策略设置 二、引入AdmPwd.PS模块 三、查看密码 四、强制重置密码 文章主要介绍在部署了LAPS后&#xff0c;怎么使用PowerShell查看和管理域内本地管理员密码。需要注意的是被操作的电脑需要加域&#xff0c;所有操作都在域内环境下进行。 LAPS介绍 LAP…

Spring Boot 知识总结

Spring Boot 知识总结 一、Spring Boot基础 1.1 什么是Spring Spring是一个开源框架&#xff0c;2003年兴起的一个Java轻量级开发框架&#xff0c;作者&#xff1a;Rod Johnson。 Spring是为了解决企业级应用开发的复杂性而创建的&#xff0c;简化开发。 Spring是如何简化…

LeetCode 每日一题——1759. 统计同构子字符串的数目

1.题目描述 1759. 统计同构子字符串的数目 难度中等43 给你一个字符串 s &#xff0c;返回 s 中 同构子字符串 的数目。由于答案可能很大&#xff0c;只需返回对 109 7 取余 后的结果。 同构字符串 的定义为&#xff1a;如果一个字符串中的所有字符都相同&#xff0c;那么…

Rancher RFO 正式 GA

Rancher RFO GA RFO 是 Rancher For openEuler 的缩写&#xff0c;旨在面向 openEuler 打造 Rancher 基础平台。其中最核心的工作是打造一款面向 openEuler 生态的 Kubernetes 发行版。它基于上游 RKE2 的技术栈&#xff0c;构建物采用 openEuler base image&#xff0c;致力于…

C语言及算法设计课程实验一:C程序的运行环境和运行C程序的方法

C语言及算法设计课程实验一&#xff1a;C程序的运行环境和运行C程序的方法一、实验目的二、实验内容2.1、输人并运行一个简单的正确的程序2.2、输人并编辑一个有错误的C程序2.3、输入并运行一个需要在运行时输入数据的程序2.4、运行一个自己编写的程序三、实验步骤3.1、输人并运…