最近在看《html5程序设计(第2版)》,在此做一些学习笔记。
书中的示例代码可以在http://www.apress.com/9781430238645 的“Source Code/Downloads”中下载
(一)HTML5的新功能
1、新的DOCTYPE和字符集
旧:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
新:
<!DOCTYPE html>
旧:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
新:
<meta charset="utf-8">
2、新元素和旧元素
内容类型 | 描述 |
内嵌 | 向文档中添加其他类型的内容,例:audio、video、canvas和iframe |
流 | 在文档和应用的body中使用的元素,例:form、h1和small |
标题 | 段落标题,例:h1、h2、group等 |
交互 | 与用户交互的内容,例:音频和视频控件、button和textarea |
元数据 | 通常出现在页面的head中,设置页面其他部分的表现和行为,例:script、style和title等 |
短语 | 文本和文本标记元素,例:mark、kbd、sub和sup等 |
片段 | 用于定义文档中片段的元素,例:article、aside和title等 |
上述所有类型的元素都可以通过CSS来设定样式。
3、语义化标记
元素名 | 描述 |
header | 标记头部区域的内容(用于整个页面和页面中的一块区域) |
footer | 标记脚部区域的内容(用于整个页面或页面中的一块区域) |
section | Web页面中的一块区域 |
article | 独立的文章内容 |
aside | 相关内容或引文 |
nav | 导航类辅助内容 |
书中的例子的样式用了CSS3的一些新特性,比如圆角(border-radius)和旋转变换(transform:rotate();)。CSS3同HTML5一样也正在开发过程中,并且为了便于浏览器逐步支持,也采用了模块化的方式发布子规范,例如变换(transformation)、动画(animation)和过渡(transition)分别对应不同的子规范。为避免命名空间冲突,有些功能需要加上浏览器厂商前缀。要显示圆角、渐变(gradients)、阴影(shadows)和变形(transformations)的话,需要在生命的部分加上前缀:-moz-(Mozilla浏览器)、o-(Opera浏览器)和-webkit-(Safari和Chrome等基于WebKit核心的浏览器)。
最后说明,使用这些标签现阶段是有风险的。不是所用浏览器都支持或全面支持。如IE,因为IE需要将这些元素最为DOM的步步粉,所以要想在IE中看到这些元素,必须用变成的方式把他们插入DOM中,再以块元素(block element)的形式显示出来。实现此功能的脚本之一是html5shiv(http://code.google.com/p/html5shiv/)
4、使用Selector API简化选取操作
如果你熟悉CSS3或jquery的选取api,就应该对此不陌生了。
函数 | 描述 | 示例 | 结构 |
querySelector() |
根据指定的选择规则, 返回在页面中找到的 第一个比配元素 |
quertSelector ("input.error") |
返回第一个CSS类名为 "error"的文本输入框 |
querySelectorAll() |
根据指定规则返回页面 中所有匹配的元素 |
querySelectorAll ("#results td") |
返回id值为results的元素 下所有的单元格 |
Selectors API不仅是方便,在遍历DOM的时候,Selectors API通常会比以前的子节点搜索API更快。为了实现快速样式表,浏览器对选择器匹配惊醒了高度优化。
5、JavaScript日志和调试
严格说这不属于HTML5,而是浏览器的支持功能。
console.log API与alert的区别是前者不阻塞脚本的执行。
6、window.JSON
JSON变成了HTML5应用内部数据交换的实施标准。典型的JSON API包含两个函数,parse()和stringify()。在旧的浏览器中使用JSON,需要javascript库,但效率不高。新的浏览器原生支持JSON。
7、DOM Level 3
IE9之后,所有浏览器终于可以使用相同的代码来实现DOM操作和事件处理了。(万恶的IE和某些已IE为内核的国产浏览器)
8、JavaScript引擎
大多数浏览器都更新的javascript引擎,使之比以前快很多倍。(前端工程师,最厌恶的就是那些使用IE6的XP用户,哈哈。)
相关推荐
### JavaEE5学习笔记07-Web层与EJB集成总结 #### 一、JavaEE5框架中的Web层与EJB集成概述 在JavaEE5(即Java Platform, Enterprise Edition 5)中,Web层与EJB(Enterprise JavaBeans)的集成是构建企业级应用的...
### JavaEE5学习笔记04-JavaMail使用总结 在JavaEE5的学习过程中,JavaMail是一个非常重要的组件,它提供了发送、接收电子邮件的功能,并且能够与各种不同的邮件服务器进行交互。下面将根据提供的内容,详细解析...
JAVA学习笔记汇总与知识点解析 本篇JAVA学习笔记汇总涵盖了从数据库连接到HTML标记,再到JavaScript服务器端执行等多方面的内容。以下是对这些知识点的详细解析: ### 1. 使用JDBC:ODBC连接数据库 #### 知识点...
**J2EE学习笔记概述** J2EE(Java 2 Platform, Enterprise Edition)是一个由Sun Microsystems(现已被Oracle收购)开发的平台,主要用于构建企业级的分布式应用系统。它提供了服务器端组件模型、服务和API,支持...
### HTML与CSS学习笔记 #### 一、基础知识概述 HTML(HyperText Markup Language)与CSS(Cascading Style Sheets)是构建网页的基础技术。通过学习HTML与CSS,我们可以创建结构化且美观的网页。 - **WWW (World ...
本资源“新手html学习笔记(仅供菜鸟成长参考).rar”为初学者提供了一条理解并掌握HTML的途径。下面将详细阐述HTML的相关知识点。 一、HTML概述 HTML是一种用于创建网页的标准标记语言,它由一系列元素组成,这些...
### JSP学习笔记(三)——使用JSP处理用户注册和登录 #### 一、概述 本篇笔记介绍了一个简单的用户注册与登录系统的实现过程,该系统由四个JSP页面构成,分别是`login.jsp`、`test.jsp`、`test2.jsp`以及未给出具体...
### Activiti5学习笔记核心知识点解析 #### 一、Activiti5概述与环境搭建 **Activiti5**是一款开源的工作流引擎,基于Java语言开发,主要用于实现业务流程管理(BPM)和工作流自动化。其核心特性包括流程建模、...
《IT学习资料》-Java 学习笔记.zip 这个压缩包文件包含了丰富的Java学习资源,旨在帮助初学者和有经验的开发者深入理解和掌握Java编程语言。这些资料可能包括课程大纲、讲解文档、实例代码、练习题以及相关理论基础...
ASP.NET 第一步学习笔记 ASP.NET 是一种基于 Microsoft .NET Framework 的 Web 应用程序开发平台,它提供了一个强大和灵活的开发环境,允许开发者快速构建功能强大且可维护的 Web 应用程序。下面是 ASP.NET 第一步...
### PHP语言基础学习笔记-php函数大全笔记 #### 一、PHP概述与基本概念 - **PHP简介**: - PHP(Hypertext Preprocessor,原名Personal Home Page)是一种广泛使用的开源服务器端脚本语言,特别适合Web开发,并且...
一、HTML5概述 HTML5(超文本标记语言第五版)旨在提高互操作性和用户体验,它对浏览器的兼容性进行了优化,减少了对插件的需求,并引入了离线存储、拖放功能、媒体元素等新特性。 二、HTML5新元素 1. 结构元素:如...
本压缩包包含了一份OA项目的学习笔记,是深入理解并掌握OA项目开发与实施的重要资料。 在OA项目学习笔记中,我们可以探讨以下几个关键知识点: 1. **OA系统概述**:OA系统通常包括工作流管理、文档管理、协同办公...
### HTML学习笔记知识点详解 #### 一、HTML概述 **HTML**(HyperText Markup Language,超文本标记语言)是一种标准的编程语言,主要用于创建和结构化网页内容。它定义了网页上的各种元素及其布局方式,例如文本、...
**SpringMVC 学习笔记一** 在Java Web开发领域,SpringMVC是Spring框架的一个重要组成部分,它是一个用于构建Web应用程序的Model-View-Controller(MVC)框架。本学习笔记将深入探讨SpringMVC的基本概念、核心组件...
### Thymeleaf 学习笔记关键知识点 #### 一、Thymeleaf 概述与优势 **Thymeleaf** 是一款现代且高级的模板引擎,它为 Web 和独立环境提供了强大的模板处理能力。根据给定内容,我们可以看出 Thymeleaf 的一些主要...
### Django框架学习笔记 #### 软件框架概述 软件框架是软件开发中的一种结构化设计,它提供了一种组织代码、数据和其他资源的方式,使得开发者可以更容易地构建应用程序。框架通常包含了一些预设的解决方案,这些...
SQL server2019 学习笔记之 第一章数据库系统概述(上) 第一节 掌握数据库系统的相关知识 1.数据库系统的组成 在这里插入图片描述在这里插入图片描述 具体关系,如图所示: 在这里插入图片描述
### Activiti5学习笔记知识点概览 #### 一、Activiti5概述与环境搭建 - **JDK版本**: 使用Activiti5至少需要JDK 1.5或更高版本。建议使用较新版本以获得更好的性能和支持。 - **构建工具**: Ant 1.8.1或以上版本是...