《HTML 简易速速上手小册》第9章:HTML5 新特性(2024 最新版)

news2025/2/3 16:05:10

在这里插入图片描述

文章目录

  • 9.1 HTML5 新增标签和属性
    • 9.1.1 基础知识
    • 9.1.2 案例 1:创建一个结构化的博客页面
    • 9.1.3 案例 2:使用新的表单元素创建事件注册表单
    • 9.1.4 案例 3:创建一个具有高级搜索功能的搜索表单
  • 9.2 HTML5 表单增强
    • 9.2.1 基础知识
    • 9.2.2 案例 1:创建一个具有高级输入类型的表单
    • 9.2.3 案例 2:使用数据列表和输出元素的表单
    • 9.2.4 案例 3:创建一个带有表单验证的注册表单
  • 9.3 HTML5 的 API 和本地存储
    • 9.3.1 基础知识
    • 9.3.2 案例 1:使用地理位置 API
    • 9.3.3 案例 2:使用 Canvas API 创建简单图形
    • 9.3.4 案例 3:使用本地存储来保存用户数据

9.1 HTML5 新增标签和属性

9.1.1 基础知识

  • HTML5介绍:HTML5引入了一系列新的元素和属性,旨在提供更丰富的文档结构,改善网页的语义性和互动性。
  • 新的结构元素:新元素如<article>, <section>, <nav>, <header>, <footer>等,使得内容组织更加直观和有意义,有助于提高SEO和网站的可访问性。
  • 新的表单元素:HTML5还包括了新的表单输入类型,如<input type="date">, <input type="range">等,使得表单更加用户友好和功能丰富。

9.1.2 案例 1:创建一个结构化的博客页面

在这个案例中,我们将使用HTML5的新结构标签来创建一个博客页面。

<!DOCTYPE html>
<html>
<head>
    <title>我的博客</title>
</head>
<body>
    <header>
        <h1>我的博客</h1>
        <nav>
            <ul>
                <li><a href="#">首页</a></li>
                <li><a href="#">文章</a></li>
                <li><a href="#">关于我</a></li>
            </ul>
        </nav>
    </header>
    <section>
        <article>
            <header>
                <h2>文章标题1</h2>
                <p>发表于 2024年1月28日</p>
            </header>
            <p>这里是文章内容...</p>
        </article>
        <article>
            <header>
                <h2>文章标题2</h2>
                <p>发表于 2024年1月20日</p>
            </header>
            <p>这里是另一篇文章的内容...</p>
        </article>
    </section>
    <footer>
        <p>版权所有 © 2024 我的博客</p>
    </footer>
</body>
</html>

9.1.3 案例 2:使用新的表单元素创建事件注册表单

接下来,我们将使用HTML5的新表单元素来创建一个事件注册表单。

<!DOCTYPE html>
<html>
<head>
    <title>事件注册</title>
</head>
<body>
    <form>
        <label for="name">姓名:</label>
        <input type="text" id="name" name="name" required><br>

        <label for="email">电子邮箱:</label>
        <input type="email" id="email" name="email" required><br>

        <label for="event-date">事件日期:</label>
        <input type="date" id="event-date" name="event-date" required><br>

        <label for="guest-number">来宾数量:</label>
        <input type="number" id="guest-number" name="guest-number" min="1" max="10" required><br>

        <button type="submit">注册</button>
    </form>
</body>
</html>

9.1.4 案例 3:创建一个具有高级搜索功能的搜索表单

在这个案例中,我们将创建一个搜索表单,使用HTML5的一些新属性来增强用户体验。

<!DOCTYPE html>
<html>
<head>
    <title>高级搜索</title>
</head>
<body>
    <form>
        <input type="search" id="search" name="search" placeholder="搜索..." aria-label="搜索">
        <button type="submit">搜索</button>
        <label for="category">分类:</label>
        <select id="category" name="category">
            <option value="all">所有</option>
            <option value="blog">博客</option>
            <option value="news">新闻</option>
        </select>
        <label for="date-from">从:</label>
        <input type="date" id="date-from" name="date-from">
        <label for="date-to">到:</label>
        <input type="date" id="date-to" name="date-to">
    </form>
</body>
</html>

通过这些案例,你可以了解如何运用HTML5的新特性来构

建更加丰富和互动的网页。这些新元素和属性不仅提高了网页的可用性和可访问性,还为用户带来了更好的体验。

在这里插入图片描述


9.2 HTML5 表单增强

9.2.1 基础知识

  • HTML5 表单新特性:HTML5 引入了多种新的表单输入类型和属性,旨在增强表单的功能性和用户体验。这些新特性包括日期选择器、范围滑块、颜色选择器等。
  • 数据验证:HTML5 还提供了内置的表单验证机制,如 required, pattern, 和 type 属性,使表单验证更简单高效。
  • 新的表单元素:除了新的输入类型,HTML5 还引入了如 <datalist><output> 等新元素,提供更多的互动性和功能性。

9.2.2 案例 1:创建一个具有高级输入类型的表单

在这个案例中,我们将创建一个表单,其中包含多种HTML5的新输入类型。

<!DOCTYPE html>
<html>
<head>
    <title>高级输入类型表单</title>
</head>
<body>
    <form>
        <label for="color">选择颜色:</label>
        <input type="color" id="color" name="color"><br>

        <label for="birthdate">出生日期:</label>
        <input type="date" id="birthdate" name="birthdate"><br>

        <label for="quantity">数量:</label>
        <input type="number" id="quantity" name="quantity" min="1" max="10"><br>

        <label for="email">电子邮箱:</label>
        <input type="email" id="email" name="email"><br>

        <label for="range">调整范围:</label>
        <input type="range" id="range" name="range" min="0" max="100"><br>

        <button type="submit">提交</button>
    </form>
</body>
</html>

9.2.3 案例 2:使用数据列表和输出元素的表单

这个案例展示了如何使用 <datalist><output> 元素来创建一个具有动态建议和实时反馈的表单。

<!DOCTYPE html>
<html>
<head>
    <title>数据列表和输出表单</title>
</head>
<body>
    <form oninput="result.value=parseInt(a.value)+parseInt(b.value)">
        <label for="a">输入 A:</label>
        <input type="range" id="a" name="a" value="50"><br>

        <label for="b">输入 B:</label>
        <input type="range" id="b" name="b" value="50"><br>

        <label for="cities">选择城市:</label>
        <input list="cities" name="city">
        <datalist id="cities">
            <option value="纽约">
            <option value="伦敦">
            <option value="北京">
            <option value="东京">
            <option value="巴黎">
        </datalist><br>

        <label for="result">结果:</label>
        <output name="result" for="a b">100</output><br>

        <button type="submit">提交</button>
    </form>
</body>
</html>

9.2.4 案例 3:创建一个带有表单验证的注册表单

这个案例将展示如何使用HTML5的表单验证特性来创建一个安全的注册表单。

<!DOCTYPE html>
<html>
<head>
    <title>带验证的注册表单</title>
</head>
<body>
    <form>
        <label for="username">用户名:</label>
        <input type="text" id="username" name="username" pattern="[A-Za-z0-9]{5,}" title="用户名至少需要5个字符" required><br>

        <label for="password">密码:</label>
        <input type="password" id="password" name="password" minlength="8" required><br>

        <label for="email">电子邮箱:</label>
        <input type="email" id="email" name="email" required><br>

        <button type="submit">注册</button>
    </form>
</body>
</html>

通过这些案例,你将能够了解和应用HTML5的一些先进的表单特性,从而创建出功能

更强大、用户体验更佳的表单。这些特性不仅使表单更加友好和易于使用,还提高了数据的准确性和安全性。

在这里插入图片描述


9.3 HTML5 的 API 和本地存储

9.3.1 基础知识

  • HTML5 API:HTML5引入了多种新的API,扩展了网页的功能,比如地理位置API、画布(Canvas) API、拖放API等。
  • 本地存储:HTML5提供了两种主要的本地存储方式:localStorage和sessionStorage。这些存储机制允许网页在用户的浏览器中存储数据,即使在页面刷新后也能保持。
  • 地理位置API:允许网站获取用户的地理位置信息,前提是用户授权。

9.3.2 案例 1:使用地理位置 API

我们将创建一个简单的页面,它可以获取并显示用户的当前位置。

<!DOCTYPE html>
<html>
<head>
    <title>地理位置示例</title>
    <script>
        function getLocation() {
            if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(showPosition);
            } else { 
                document.getElementById("location").innerHTML = "Geolocation is not supported by this browser.";
            }
        }

        function showPosition(position) {
            document.getElementById("location").innerHTML = "Latitude: " + position.coords.latitude + 
            "<br>Longitude: " + position.coords.longitude;
        }
    </script>
</head>
<body>
    <button onclick="getLocation()">获取位置</button>
    <p id="location"></p>
</body>
</html>

9.3.3 案例 2:使用 Canvas API 创建简单图形

这个示例展示了如何使用Canvas API来绘制基本图形。

<!DOCTYPE html>
<html>
<head>
    <title>Canvas API示例</title>
</head>
<body>
    <canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;">
        Your browser does not support the HTML5 canvas tag.
    </canvas>

    <script>
        var c = document.getElementById("myCanvas");
        var ctx = c.getContext("2d");
        ctx.fillStyle = "#FF0000";
        ctx.fillRect(0, 0, 200, 100);
    </script>
</body>
</html>

9.3.4 案例 3:使用本地存储来保存用户数据

在这个案例中,我们将使用localStorage来存储用户的数据。

<!DOCTYPE html>
<html>
<head>
    <title>本地存储示例</title>
    <script>
        function saveData() {
            var name = document.getElementById("name").value;
            localStorage.setItem("userName", name);
        }

        function loadData() {
            var storedName = localStorage.getItem("userName");
            if (storedName) {
                document.getElementById("welcomeMessage").innerHTML = "欢迎回来," + storedName;
            }
        }
    </script>
</head>
<body onload="loadData()">
    <input type="text" id="name" placeholder="输入你的名字">
    <button onclick="saveData()">保存</button>

    <p id="welcomeMessage"></p>
</body>
</html>

通过这些案例,你可以了解HTML5的API和本地存储如何使网页更加动态和交互性强。这些功能不仅提高了网站的实用性,还增强了用户体验。

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

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

相关文章

海洋鱼类检测7种YOLOV8NANO

【免费】海洋鱼类检测&#xff0c;7种类型&#xff0c;YOLOV8训练&#xff0c;转换成ONNX&#xff0c;OPENCV调用资源-CSDN文库 采用YOLOV8NANO训练模型&#xff0c;得到PT模型&#xff0c;然后转换成ONNX&#xff0c;供OPENCV的DNN调用&#xff0c;摆脱PYTORCH依赖&#xff0c…

中小学电子编程内部集中培训第五课

超声波 小车例程 测试距离 此程序把超声波测量的距离通过串口打印出来&#xff0c;程序中会用到控制模块中的 初始化&#xff0c;串口模块中的比特率设置、Serial 打印和 Serial 打印自动换行&#xff0c;云开智 能中的超声波测距模块&#xff0c;完成后如图 19-1&#xff1a;…

RK3588开发板Ubuntu与开发板使用U盘互传

1 将 U 盘(U 盘的格式必须为 FAT32 格式&#xff0c;大小在 32G 以下)插到开发板的 usb 接口&#xff0c;串口打印信息如下所示&#xff0c;U 盘的设备节点是/dev/sdb4。U 盘的设备节点不是固定的&#xff0c;根据实际情况来查看设备节点。 2 输入以下命令挂载 U 盘&#xff0c…

ssl数字证书是什么

SSL证书是一种数字证书&#xff0c;用于在网络传输中提供加密和身份验证功能&#xff0c;从而保护数据的安全性和完整性。正规的SSL证书大多是由由权威的证书颁发机构&#xff08;CA&#xff09;颁发的&#xff0c;例如Certum、Digicert、Sectigo等&#xff0c;它们颁发的SSL数…

Qt多线程与SocketTCP的简单实现

1.相关说明 多线程实现Qt的socket编程实现客户端发送文件&#xff0c;服务端接收文件&#xff0c;并且在客户端设置了心跳&#xff0c;用于监控服务端是否存活。因为Qt中socket套接字发送数据&#xff0c;会先把数据发送至缓冲区中&#xff0c;在发送数据过程中&#xff0c;soc…

基于Transformer结构的扩散模型综述

&#x1f380;个人主页&#xff1a; https://zhangxiaoshu.blog.csdn.net &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️&#xff0c;如有错误敬请指正! &#x1f495;未来很长&#xff0c;值得我们全力奔赴更美好的生活&…

【Qt基本功修炼】Qt线程的两种运行模式

1. 前言 QThread是Qt中的线程类&#xff0c;用于实现多线程运行。 QThread有两种工作模式&#xff0c;即 消息循环模式无消息循环模式 两种模式分别适用于不同的场景。下面我们将从多个方面&#xff0c;讲解QThread两种工作模式的区别。 2. 消息循环模式 2.1 实现原理 Q…

Tomcat 部署项目时 war 和 war exploded区别

在 Tomcat 调试部署的时候&#xff0c;我们通常会看到有下面 2 个选项。 是选择war还是war exploded 这里首先看一下他们两个的区别&#xff1a; war 模式&#xff1a;将WEB工程以包的形式上传到服务器 &#xff1b;war exploded 模式&#xff1a;将WEB工程以当前文件夹的位置…

《Pandas 简易速速上手小册》第5章:Pandas 数据合并与重塑(2024 最新版)

文章目录 5.1 数据合并&#xff1a;Concatenate 和 Merge5.1.1 基础知识5.1.2 重点案例&#xff1a;客户订单数据合并5.1.3 拓展案例一&#xff1a;产品目录和销售数据合并5.1.4 拓展案例二&#xff1a;员工信息和部门数据合并 5.2 数据透视和重塑5.2.1 基础知识5.2.2 重点案例…

保姆级系列:各种打印机驱动的安装和使用

保姆级系列&#xff1a;各种打印机驱动的安装和使用 1.介绍2.下载3.安装4.实践教程5.总结 1.介绍 市面上打印机品牌和型号众多&#xff0c;打印机接口目前主要分为如下几种&#xff1a; 逻辑端口&#xff1a;TCP/IP、WSD、USB、LPT、COM 物理端口&#xff1a;RJ45、DB15母、US…

JDK1.8源码环境搭建介绍

目录 一、环境说明 1.1 JDK 1.8 1.2 IDEA 二、搭建过程说明 2.1 创建Java工程 2.2 源码准备 2.2.1 查找源码 2.2.2 解压源码到工程中 2.3 更新SDK 2.3.1 更新工程SDK 2.3.1.1 新建SDK 2.3.1.2 更新工程SDK 2.4 测试 2.4.1 解决报错问题 2.4.1.1 解决 sun.awt.UNI…

C#,桌面游戏编程,数独游戏(Sudoku Game)的算法与源代码

本文包括以下内容&#xff1a; &#xff08;1&#xff09;数独游戏的核心算法&#xff1b; &#xff08;2&#xff09;数独游戏核心算法的源代码&#xff1b; &#xff08;3&#xff09;数独游戏的部分题目样本&#xff1b; &#xff08;4&#xff09;适老版《数独》的设计原则…

Mirus TransIT-X2® 在RNAi干扰实验中性能数据展示

不同RNAi干扰途径示意图 基因沉默相关功能研究在分子和细胞生物学中发挥着重要作用&#xff0c;化学转染也在该研究领域扮演者重要角色。常见参与RNAi干扰途径的天然RNA分子包括&#xff1a; ★.小干扰 RNA (Small interfering RNAs, siRNA) &#xff1a;由双链 RNA(dsRNA)断裂…

第0章 Linux 基础入门

第0章 Linux 基础入门 RHCSA Red Hat Certified System Administrator 红帽认证系统管理员。 什么是计算机 计算机的组成&#xff1a; 控制器 运算器 存储器 输出设备 输入设备 计算机只能识别0和1&#xff0c;也就是二进制数。 为什么要学习Linux Linux 因其高效率…

零基础爬什么值得买的榜单——爬虫练习题目一(答二)

新问题总在解决老问题之后出现 引言原因正文 开整方法一代码运行效果 方法二代码运行结果 推荐 补充两个请求头的参数知识RefererUser-Agent 结尾 引言 今天心情不是很好 但是得更新呀 其实我写博客的一方面 也是希望大家能够监督我 让我尽量少情绪化 保持一个应有的速率做正确…

【VSCode 光标返回上一位置】

默认按键 Windows: Alt ← ;或者 鼠标侧键 Linux: Ctrl Alt - ;貌似数字键盘的减号没效果 Mac: Ctrl - 自定义修改方法&#xff1a; VSCode左下角 “管理 / Manage” “键盘快捷方式 / KeyBoard Shortcuts” 搜索 “前进 / Go Forward 或 后退 / Go Back” 双击需…

PySpark(二)RDD基础、RDD常见算子

目录 RDD RDD五大特性 RDD创建 RDD算子 常见的Transformation算子 map flatMap mapValues reduceByKey groupBy filter distinct union join intersection glom groupByKey groupByKey和reduceByKey的区别 ? sortBy sortByKey 常见的action算子 countByKey…

npm ERR! reason: certificate has expired(淘宝镜像过期)

npm ERR! request to https://registry.npm.taobao.org/yauzl/-/yauzl-2.4.1.tgz failed, reason: certificate has expired 今天在执行npm install命令时&#xff0c;报错百度了下是淘宝证书过期原因 解决方法一 执行下面两个命令再进行npm install即可 npm cache clean --…

LangChain结合通义千问的自建知识库

LangChain结合通义千问的自建知识库 在使用了通义千问API了之后&#xff0c;下一步就是构建知识库文档&#xff0c;使用了比较有名的LangChian&#xff0c;最后成果将自己的txt生成了知识向量库&#xff0c;最后我还把自己的论文生成了一个知识向量库&#xff0c;然后问他我的…

测试环境搭建整套大数据系统(一:基础配置,修改hostname,hosts,免密,时间同步)

一&#xff1a;使用服务器配置。 二&#xff1a;修改服务器名称hostname&#xff0c;hosts。 在 Linux 系统中&#xff0c;hostname 和 /etc/hosts 文件分别用于管理主机名和主机名解析。 在三台服务器上&#xff0c;分别执行以下命令。 vim /etc/hostnamexdso-hadoop-test-0…