HTML5是HTML4.01和XHTML1.0之后超文本标记语言的最新版本,由一群自由思想者设计,最终实现了多媒体支持、交互性、更智能的表单和更好的语义标注。
HTML 5不只是 HTML规范的最新版本,它是用于生成现代 Web内容的一系列相关技术的总称,其中最重要的三个技术是:HTML5核心规范(table)、 CSS (class style)和 JavaScript。
一.HTML5 的历史
HTML在1993年第一次作为互联网草稿发布,随后经历了2.0、3.2和4.0,直到1999年 HTML4.01版本稳定下来。慢慢地,随着发展,越来越严格的 XHTML取代了它。
XHTML 的兴衰史
自发布了 HTML4.01版以来,万维网联盟(W3C)掌握了 HTML规范,但该组织并未发布新标准,而是致力于 XHTML1.0,以及之后的 XHTML2.0。XHTML是基于 XML的 HTML版本,它致力于实现更严格和统一的编码规范,解决了以前的 HTML4.01版本中由于编码不规范而导致浏览器出现的各种奇怪行为。因此, Web开发人员非常支持 XHTML。XHTML最大的优点,就是迫使开发人员养成良好的编码习惯,摒弃混乱的 HTML书写,最终减少浏览器解析页面的困难,方便移植到其他平台。
然而,越想往好的方面发展,往往就会带来灾难性的后果,世界上的一切都是如此。XHTML2.0规定了更严格的错误处理规则,规定浏览器必须拒绝无效的XHTML2页面,强制 Web开发人员在不向下兼容、不改变 HTML遗留下来的奇怪行为和编码习惯的情况下编写绝对正确的代码。按道理,取其精华,去其糟粕应该是件好事。但如果这样的话,上一个页面将不能兼容, Web开发人员的难度又增加了,而制定这一标准又太久,最终将被抛弃。
HTML5 的回归
W3C在2008年发布了HTML5的工作草案,XHTML2预定在2009年终止。在大约一年的时间里,HTML5规范进一步解决了很多实际问题,各大浏览器厂商开始升级产品支持HTML5。因此,浏览器的实验反馈,HTML5规范得到了不断的改进和完善,并很快融入到Web平台的实质性改进中。
和 XHTML2.0不同的是,开发HTML5规范的团队不会为了弥补以前 HTML的种种缺陷而去纠正它,而是尽可能地弥补 Web开发人员所需要的各种功能。其中包括更强大的CSS3,表单验证,音频视频,本地存储,地理定位,画作(画布),网络通讯等等。
二.HTML5 的功能
HTML5涵盖了哪些功能?主流浏览器是如何支持这些功能的?
1.HTML5 核心:
该部分主要组成为W3C官方规范,包括新的语义元素,新的增强的 Web表单,音频和视频,以及 JavaScript绘制的画布。大部分主流浏览器都对此有良好的支持;
2.曾经的 HTML5 标准:
这部分主要来源于原HTML5规范,大部分都需要JavaScript,支持Web应用开发。例如:本地数据存储、离线应用、消息传输;
3.非 HTML5 标准:
这部分通常指的是下一代功能。虽然从未进入HTML5标准,但人们还是会把它当作HTML5的一部分。这些包括最常见的CSS3,以及非常受欢迎的地理位置。
对于最为常用且实用的部分,基本上主流的浏览器都支持得比较好。而那些特殊需求的部分,则需要根据不同的浏览器检测才能知道是否支持自己想要的功能。
三.HTML5 的特点
在 HTML5 发展的同时,XHTML2.0 也在不断发展,那么到底是哪些特点导致 HTML5 取得最终的胜利呢?
1.向下兼容
对 XHTML2.0来说,需要遵循规则,否则不能显示,而HTML5则奉行“不破坏 Web”的原则。这就是说,以前存在的网页,仍然能够保持正确的显示。
HTML5规范当然是面向开发者,要求抛弃过去那些编码的坏习惯和废弃的标签元素;面向浏览器厂商,要求他们兼容 HTML遗留下来的所有东西,从而实现向下兼容。
2.用户至上
HTML 5遵循“用户至上”的原则,当出现具体问题时,首先考虑用户,其次考虑开发人员,然后再考虑浏览器厂商,最后才考虑制定规范。例如,开发者在编写代码时不严谨,导致本应出现警告或错误,但页面却正常显示。
3.化繁为简
HTML5 对比之前的 XHTML,做了大量的简化工作。具体如下:
(1)替换复杂的JavaScript具有浏览器的原生能力;
(2).DOCTYPE 被简化到极致;
(3).字符集声明被简化;
(4).简单强大的 API。
4.无插件范式
在HTML5出现之前,很多功能只能通过插件或者hack(比如画图API)来实现,但是HTML5本身就提供了这些支持。使用插件有许多问题,如下所示:
(1).插件安装容易失败;
(2).插件被浏览器或软件禁用屏蔽(如 Flash 插件);
(3).插件经常会被爆出漏洞被利用攻击;
(4).插件不容易与 HTML 文档其他部分集成(比如整体透明化等)。
5.访问通用性
这个原则分为三个概念:
(1).可访问性:比如更加利于残障人士的阅读方案;
(2).媒体中立:比如 HTML5 的媒体播放在不同设备或平台均能正常运行;
(3).支持所有语种:比如新元素。
6.引入语义
HTML 5引入一些标签元素来区分不同的意思和内容。该方法大大提高了代码编写者的可读性,并且便于代码区域查询。
7.引入原生媒体支持
HTML5的一个重大改进就是支持直接在浏览器中播放视频和音频文件,而这类功能之前都需要借助插件来实现。
8.引入可编程内容
HTML5 最大的变化就是引入了需要通过 JavaScript 编程才能完全的各种效果,而这些很多都是 HTML5 原生的。那么现在 HTML5 可以理解为 HTML + CSS + JavaScript + API 的总称。
以上就是关于HTML5的一些介绍,谢谢大家观看。
HTML5+CSS3 Web前端开发与实例教程:微课视频版》
本书内容
《HTML5+CSS3 Web前端开发与实例教程:微课视频版》秉承“思政引领,立德树人”的教育理念,自然融入多维度、深层次的思政元素,全面对标企业和行业需求;引入现代Web前端开发的核心技术,如Flex布局、Grid布局,以及人工智能编程插件,同时融入企业开发实践,确保学习内容与实际工作紧密相关。全书以一个完整案例为主线,结合综合项目实战操作,体现育人、应用和创新三项能力。《HTML5+CSS3 Web前端开发与实例教程:微课视频版》配套提供课程思政元素、案例源代码、PPT课件、课后习题与答案、微课视频、教案、教学大纲、章节测试、云题库、实验报告、学习通在线课程、企业高频面试题、学科竞赛真题等丰富的教学资源,并设有QQ群提供线上学习跟踪和指导服务。
《HTML5+CSS3 Web前端开发与实例教程:微课视频版》共分14章,系统地讲解Web前端开发的核心技术,主要内容包括Web前端开发概述、HTML5基础、HTML5页面元素和属性、表单、CSS3基础、CSS3修饰页面元素、CSS3高级选择器、CSS3盒子模型、浮动与定位、CSS3高级应用、网页布局、Flex布局、Grid布局等,并提供“大学生参军入伍专题网站”和“文创商城”两个实战案例。
本书作者
卢欣欣,副教授。长期从事高校教学工作,专注Web应用开发,项目开发经验丰富。主讲《Web程序设计》《高级程序设计》《软件开发综合实践》等课程,先后主编教材2部,参编教材3部。在慕课网上线的《企业网站综合布局实战》课程学习人数超15万人。
崔仲远,副教授,毕业于北京交通大学。长期从事高校教学工作和软件项目开发工作,实战开发经验丰富。先后承担《网页特效设计》《Web前端基础》《跨平台脚本开发技术》等多门课程的教学任务,发表学术论文多篇,主编教材2部,参编教材3部、专著1部。主持省级教改项目1项、科研项目1项。
本书读者
《HTML5+CSS3 Web前端开发与实例教程:微课视频版》既可作为本专科院校计算机相关专业的Web程序设计、网页设计与制作等课程的教材,也可作为Web应用开发人员的自学手册和技术参考书。
本书目录
第1章 Web前端开发概述 1
1.1 Web前端开发职责 1
1.2 Web前端开发相关概念 2
1.3 Web前端开发相关技术 3
1.3.1 Web标准 3
1.3.2 HTML 4
1.3.3 CSS 4
1.3.4 JavaScript 5
1.4 Web前端开发工具 5
1.4.1 代码编辑工具:VSCode 6
1.4.2 代码运行工具:浏览器 8
1.4.3 开发者工具 9
1.4.4 人工智能辅助编程工具 10
1.5 网站设计与开发流程 11
1.6 实战案例:网页显示“社会主义核心价值观” 12
1.7 本章小结 13
第2章 HTML5基础 14
2.1 HTML5语法基础 14
2.1.1 HTML文档结构 14
2.1.2 HTML标签语法 17
2.1.3 HTML注释 18
2.2 文本控制标签 19
2.2.1 标题标签 19
2.2.2 段落标签 20
2.2.3 换行标签 20
2.2.4 文本格式化标签 21
2.2.5 特殊字符 22
2.3 图像标签 23
2.3.1 网页常用图像格式 23
2.3.2 图像标签的使用 24
2.3.3 相对路径与绝对路径 26
2.4 超链接标签 27
2.4.1 文本链接 27
2.4.2 图像链接 28
2.4.3 书签(锚点)链接 28
2.4.4 其他链接 30
2.5 列表 30
2.5.1 有序列表 31
2.5.2 无序列表 32
2.5.3 定义列表 34
2.5.4 嵌套列表 35
2.6 表格 36
2.6.1 表格结构 36
2.6.2 表格标签 37
2.7 视频和音频标签 41
2.7.1 视频标签 41
2.7.2 音频标签 42
2.8 其他标签 42
2.8.1 预格式化标签 42
2.8.2 水平线标签 43
2.8.3 行内容器标签 43
2.9 实战案例:“大学生参军网站”兵役登记页面 44
2.10 本章小结 46
第3章 HTML5页面元素和属性 47
3.1 文档结构标签 47
3.1.1标签 47
3.1.2标签 49
3.1.3标签 50
3.1.4标签 51
3.1.5标签 53
3.1.6标签 53
3.1.7和标签 54
3.1.8标签 55
3.2 交互元素 55
3.2.1 标签 55
3.2.2 标签 56
3.2.3标签 57
3.3 文本层次语义标签 58
3.3.1 标签 58
3.3.2 标签 59
3.3.3 标签 60
3.4 全局属性 61
3.5 实战案例:“大学生参军网站”页面结构 62
3.6 本章小结 64
第4章 表单 65
4.1 表单概述 65
4.2标签 67
4.3 标签 68
4.3.1 单行文本框 69
4.3.2 密码框 69
4.3.3 文件域 70
4.3.4 单选按钮和复选框 71
4.3.5 隐藏域 73
4.3.6 按钮 73
4.3.7 HTML5新增输入元素 76
4.4 标签 78
4.5 标签 79
4.6 选择列表标签 80
4.7 多行文本框标签 83
4.8 表单常用属性 84
4.9 实战案例:“大学生参军网站”网上咨询表单 86
4.10 本章小结 88
第5章 CSS3基础 89
5.1 CSS概述 89
5.2 CSS语法规则 90
5.3 CSS样式的引入方法 91
5.3.1 行内样式表 91
5.3.2 内部样式表 92
5.3.3 外部样式表 93
5.4 CSS基本选择器 94
5.4.1 标签选择器 94
5.4.2 ID选择器 95
5.4.3 类选择器 95
5.4.4 通用选择器 97
5.5 实战案例:“大学生参军网站”公共样式表制作 97
5.6 本章小结 98
第6章 CSS3修饰页面元素 99
6.1 CSS字体样式 99
6.1.1 字体粗细属性 99
6.1.2 字体风格属性 100
6.1.3 字体大小属性 101
6.1.4 字体族属性 103
6.1.5 字体属性 106
6.2 CSS文本样式 107
6.2.1 行高属性 107
6.2.2 颜色属性 109
6.2.3 文本水平对齐属性 110
6.2.4 首行缩进属性 111
6.2.5 文本修饰属性 111
6.2.6 字符间距属性 112
6.2.7 字间距属性 113
6.2.8 字母大小写属性 114
6.2.9 文本阴影效果属性 115
6.3 CSS表格样式 116
6.4 CSS表单样式 118
6.4.1 单行文本框美化 119
6.4.2 按钮美化 120
6.4.3 下拉列表美化 120
6.5 CSS列表样式 122
6.6 实战案例:“大学生参军网站”在线咨询页面 123
6.7 本章小结 126
第7章 CSS3高级选择器 127
7.1 组合选择器 127
7.1.1 交集选择器 127
7.1.2 并集选择器 128
7.1.3 后代选择器 129
7.1.4 子元素选择器 130
7.1.5 相邻兄弟选择器 131
7.1.6 通用兄弟选择器 132
7.2 属性选择器 133
7.3 伪类选择器 134
7.4 伪元素选择器 136
7.5 CSS三大特性 138
7.6 本章小结 141
第8章 CSS3盒子模型 142
8.1 盒子模型概述 142
8.1.1 认识盒子模型 142
8.1.2
标签 144
8.2 盒子模型的相关属性 144
8.2.1 内容区域的宽度和高度 144
8.2.2 边框 145
8.2.3 内边距 152
8.2.4 外边距 153
8.3 阴影 155
8.4 box-sizing 156
8.5 背景属性 158
8.5.1 背景颜色 158
8.5.2 背景图像 158
8.5.3 图像平铺方式 158
8.5.4 背景图像位置 160
8.5.5 背景图像固定 161
8.5.6 背景图像大小 161
8.5.7 背景裁剪 163
8.5.8 背景复合属性 164
8.5.9 CSS精灵图 165
8.6 实战案例:“大学生参军网站”登录页面 166
8.7 本章小结 169
第9章 浮动与定位 170
9.1 标准文档流 170
9.2 元素的分类 171
9.2.1 块级元素、行内元素与行内块元素 171
9.2.2 元素的类型转换 172
9.3 元素的浮动 173
9.3.1 设置浮动 174
9.3.2 清除浮动 176
9.4 元素的定位 180
9.4.1 定位的概念 180
9.4.2 定位属性 181
9.4.3 静态定位 181
9.4.4 相对定位 182
9.4.5 绝对定位 183
9.4.6 固定定位 186
9.4.7 粘性定位 187
9.4.8 层叠等级属性 188
9.5 实战案例:“大学生参军网站”轮播图效果 190
9.6 本章小结 192
第10章 CSS3高级应用 193
10.1 变换 193
10.1.1 旋转 194
10.1.2 倾斜 195
10.1.3 缩放 196
10.1.4 平移 197
10.1.5 变换原点 198
10.2 过渡 200
10.3 动画 202
10.4 实战案例:“大学生参军网站”CSS3高级应用 205
10.5 本章小结 208
第11章 网页布局 209
11.1 网页布局概述 209
11.1.1 网页布局的概念 209
11.1.2 网页布局的流程 210
11.1.3 常见的网页布局方法 211
11.2 网页布局命名规范 211
11.3 常见布局的实现 212
11.3.1 单列布局 212
11.3.2 两列常规布局 214
11.3.3 三列常规布局 216
11.3.4 两列自适应等高布局 217
11.3.5 三列自适应布局 219
11.4 实战案例:“大学生参军网站”首页主体部分 223
11.5 本章小结 225
第12章 Flex布局 226
12.1 Flex布局概述 226
12.2 Flex布局相关概念 227
12.3 容器属性 227
12.3.1 display属性 228
12.3.2 flex-direction属性 228
12.3.3 flex-wrap属性 230
12.3.4 justify-content属性 232
12.3.5 align-items属性 233
12.3.6 align-content属性 235
12.4 项目属性 236
12.4.1 order属性 236
12.4.2 flex-grow属性 237
12.4.3 flex-shrink属性 239
12.4.4 flex-basis属性 240
12.4.5 flex属性 241
12.5 实战案例:“大学生参军网站”导航条 242
12.6 本章小结 244
第13章 Grid布局 245
13.1 Grid布局概述 245
13.2 Grid布局相关概念 246
13.3 容器属性 246
13.3.1 display属性 247
13.3.2 划分网格 248
13.3.3 行间隔和列间隔 252
13.3.4 项目对齐方式 253
13.4 项目属性 255
13.4.1 grid-column和grid-row属性 255
13.4.2 grid-area属性 257
13.5 实战案例:“大学生参军网站”视频展播列表 258
13.6 本章小结 260
第14章 Web前端项目综合实践——文创商城 261
14.1 项目概述 261
14.2 需求分析 262
14.3 原型设计 262
14.4 公共部分的设计与实现 265
14.4.1 重置样式 265
14.4.2 页面头部 265
14.4.3 页面底部 268
14.4.4 悬浮侧边栏 270
14.5 首页的设计与实现 271
14.5.1 甄选好物版块 271
14.5.2 国博文房版块 274
14.6 商品列表页的设计与实现 277
14.6.1 商品类型筛选 277
14.6.2 分页导航 278
14.7 商品详情页的设计与实现 279
14.8 本章小结 283
编辑推荐
1HTML5与CSS3是Web前端开发的两大核心技术,它们不仅是Web前端开发工程师必须掌握的技能,也是高校一门重要的Web前端课程内容
2《HTML5+CSS3 Web前端开发与实例教程:微课视频版》以“从项目中来到项目中去”为主旨,从Web前端开发的基本概念入手,系统介绍HTML5、CSS3网页编程技巧。
3《HTML5+CSS3 Web前端开发与实例教程:微课视频版》采取“知识点讲解+示例解析+案例详讲+高频面试题+实践操作+学科竞赛真题”的递进式教学模式,引导读者理解理论知识,掌握开发方法,学会复杂的网站设计技能,全面提升读者的Web前端开发能力。
4《HTML5+CSS3 Web前端开发与实例教程:微课视频版》配套资源非常丰富,包括思政元素、案例源代码、PPT课件、微课视频、习题与答案、教案、教学大纲、章节测试、云题库、实验报告、学习通在线课程,能帮助读者快速掌握HTML5与CSS3前端技术。
本文摘自《HTML5+CSS3 Web前端开发与实例教程:微课视频版》,获出版社和作者授权发布。
HTML5,作为HTML的最新版本,自推出以来,就以其强大的功能和革命性的特性,引领了网页设计的新潮流。它不仅增强了网页的表现力,还引入了众多新元素和API,极大地丰富了网页开发的可能性。本文将深入探讨HTML5的核心特性,并通过实际代码示例,展示它如何改变和提升现代网页设计和开发。
1.1 语义标签
HTML5引入了许多语义化的标签,如<article>、<section>、<nav>和<header>,这些标签使得网页的结构更加清晰,有助于搜索引擎优化(SEO)。
示例代码:
<header>
<h1>Website Title</h1>
<nav>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#about">About</a></li>
</ul>
</nav>
</header>
<section id="home">
<article>
<h2>Article Title</h2>
<p>Article content...</p>
</article>
</section>
1.2 离线存储
通过本地存储(localStorage)和会话存储(sessionStorage),HTML5允许网页在用户离线时存储数据,大大提高了网页的可用性和响应速度。
示例代码:
// 存储数据
localStorage.setItem('key', 'value');
sessionStorage.setItem('key', 'value');
// 读取数据
let value = localStorage.getItem('key');
value = sessionStorage.getItem('key');
1.3 多媒体支持
HTML5原生支持音频和视频,无需依赖插件。使用<audio>和<video>标签,开发者可以轻松嵌入和播放多媒体内容。
示例代码:
<audio controls>
<source src="audio.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<video width="320" height="240" controls>
<source src="video.mp4" type="video/mp4">
Your browser does not support the video element.
</video>
1.4 画布(Canvas)和SVG
<canvas>元素用于通过JavaScript绘制图形,而SVG(可缩放矢量图形)则提供了另一种强大的图形渲染方式。
示例代码:
<canvas id="myCanvas" width="200" height="100"></canvas>
<script>
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
ctx.fillStyle = '#FF0000';
ctx.fillRect(0, 0, 150, 100);
</script>
1.5 新的表单元素和属性
HTML5为表单提供了更多的控制和验证功能,如日期和时间输入、颜色选择器、表单验证等。
示例代码:
<form>
<input type="date" name="bday">
<input type="color" name="favcolor">
<input type="email" name="email" required>
<input type="submit">
</form>
2.1 地理定位(Geolocation)
HTML5的地理定位API允许网页访问用户的地理位置信息,为开发基于位置的服务提供了便利。
示例代码:
navigator.geolocation.getCurrentPosition(function(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
console.log('Your current position is (' + latitude + ',' + longitude + ')');
});
2.2 拖放(Drag and Drop)
拖放API使得用户可以轻松地拖拽网页上的元素,为创建交互式网页提供了新途径。
示例代码:
<div id="drag" draggable="true">Drag me</div>
<div id="drop" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<script>
function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}
function drop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));
}
</script>
2.3 Web Workers
Web Workers允许在后台运行JavaScript代码,不会影响主线程的性能,特别适用于处理复杂计算。
示例代码:
var myWorker = new Worker('worker.js');
myWorker.onmessage = function(e) {
console.log('Received message ' + e.data);
};
myWorker.postMessage('Hello World');
2.4 WebSockets
WebSockets提供了一种全双工通信通道,使得客户端和服务器之间的实时通信成为可能。
示例代码:
var socket = new WebSocket('ws://localhost:8080');
socket.onopen = function(event) {
socket.send('Hello Server!');
};
socket.onmessage = function(event) {
console.log('Server says: ', event.data);
};
socket.onclose = function(event) {
console.log('Connection closed');
};
3.1 移动优先
HTML5的设计考虑到了移动设备的特性,使得开发跨平台移动应用变得更加容易。
3.2 触摸事件
HTML5支持触摸事件,如触摸开始、移动和结束,为移动设备提供了良好的交互体验。
示例代码:
var canvas = document.getElementById('myCanvas');
canvas.addEventListener('touchstart', handleStart, false);
canvas.addEventListener('touchmove', handleMove, false);
canvas.addEventListener('touchend', handleEnd, false);
function handleStart(e) {
e.preventDefault();
// 处理触摸开始事件
}
function handleMove(e) {
e.preventDefault();
// 处理触摸移动事件
}
function handleEnd(e) {
e.preventDefault();
// 处理触摸结束事件
}
3.3 响应式设计
结合CSS3,HTML5可以创建响应式网页,自动适应不同屏幕尺寸和分辨率。
示例代码:
<meta name="viewport" content="width=device-width, initial-scale=1">
@media (max-width: 600px) {
.responsive-class {
width: 100%;
}
}
4.1 兼容性考虑
虽然现代浏览器普遍支持HTML5,但在开发时仍需考虑旧版浏览器的兼容性问题。
4.2 性能优化
合理使用HTML5特性,如缓存策略和资源加载,可以显著提升网页性能。
示例代码:
<link rel="manifest" href="/manifest.webmanifest">
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/service-worker.js').then(function(registration) {
console.log('ServiceWorker registration successful with scope: ', registration.scope);
}, function(err) {
console.log('ServiceWorker registration failed: ', err);
});
});
}
4.3 安全性
遵循最佳安全实践,如验证用户输入、使用HTTPS等,保护用户数据和隐私。
HTML5作为现代网页设计的基石,不仅提供了丰富的语义标签和API,还极大地增强了网页的表现力和交互性。它对移动开发的支持,使得创建跨平台应用变得更加容易。然而,开发者在利用HTML5的强大功能时,也应考虑兼容性、性能和安全性的问题。随着技术的发展,HTML5将继续推动网页设计和开发向更加先进和用户友好的方向发展。
*请认真填写需求信息,我们会在24小时内与您取得联系。