web 基础(二) HTML5
web 基础(二) HTML5
一、HTML5
HTML5 是最新的 HTML 标准。是专门为承载丰富的 web 内容而设计的,并且无需额外插件。它拥有新的语义、图形以及多媒体元素。并提供的新元素和新的 API 简化了 web 应用程序的搭建,是跨平台的,被设计为在不同类型的硬件(PC、平板、手机、电视机等等)之上运行。
总而言之,HTML5 属于上一代HTML的新迭代语言,设计HTML5最主要的目的是为了在移动设备上支持多媒体!
HTML5 的文档规范:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title of the document</title>
</head>
<body>
Content of the document......
</body>
</html>
相比 HTML4 及以下版本,HTML5 的文档类型(DOCTYPE)声明非常简单,HTML5 中默认的字符编码是 UTF-8。
二、HTML5 新特性
- 新的语义元素。比如 <header>, <footer>, <article>, and <section>。
- 新的表单控件。比如数字、日期、时间、日历和滑块。
- 强大的图像支持(借由 <canvas> 和 <svg>)。
- 强大的多媒体支持(借由 <video> 和 <audio>)。
- 强大的新 API。比如用本地存储取代 cookie。
三、浏览器对 HTML5 的支持
目前,所有现代浏览器都支持 HTML5。此外,所有浏览器,不论新旧,都会自动把未识别元素当做行内元素来处理。正因如此,可以用下面三种方式来帮助老式浏览器处理“未知的“ HTML 元素,以实现浏览器对 HTML5 的支持:
1、把 HTML5 元素定义为块级元素
HTML5 定义了八个新的语义 HTML 元素。所有都是块级元素。可以把 CSS display 属性设置为 block,以确保老式浏览器中正确的行为,如下所示:
header, section, footer, aside, nav, main, article, figure {
display: block;
}
2、向 HTML 文档中添加新元素
可以通过浏览器 trick 向 HTML 添加任何新元素,如下示例是向 HTML 添加了一个名为 <my> 的新元素,并为其定义 display 样式为block:
<!DOCTYPE html>
<html> <head>
<title>an HTML Element</title>
<script>document.createElement("my")</script>
<style>
myHero {
display: block;
}
</style>
</head>
<body>
<my>My First Hero</my>
</body>
</html>
注意:已添加的 JavaScript 语句 document.createElement("my"),仅适用于 IE内核的浏览器。
上述两种方案可用于所有新的 HTML5 元素,但是对于Internet Explorer 8 以及更早的版本,不允许对未知元素添加样式。此时需要用到下面的Shiv 解决方案。
3、完整的 Shiv 解决方案
在 Internet Explorer 8 以及更早的版本,不允许对未知元素添加样式。幸运的是,Sjoerd Visscher 创造了 "HTML5 Enabling JavaScript", "the shiv"的插件:html5shiv.min.js,在HTML5 文档中引用此文件,可以实现对HTML5 的支持,如下示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<!--[if lte IE 9]>
<script type="text/javascript" src="js/html5shiv.min.js"></script>
<![endif]-->
</head>
<body>
<header>头部</header>
</body>
</html>
注意:以上代码是一段注释,但是 IE9 的早期版本会读取它(并理解它)。引用 JS 插件代码的链接必须位于 <head> 元素中,因为 Internet Explorer 需要在读取之前认识所有新元素。
由于第三种方案可以解决大部分兼容性问题,所以 推荐使用第三种 Shiv 解决方案。
四、HTML5 中新元素及属性
这边列出了常用的元素和相关属性,详细的可以访问各个章节:HTML5 教程。
(一)、新元素
标签 |
描述 |
|
<canvas>新元素 |
<canvas> |
标签定义图形,比如图表和其他图像,该标签基于JS的绘画API |
新多媒体元素 |
<audio> |
定义音频内容 |
<video> |
定义视频(video或者movie) |
|
<source> |
定义多媒体资源<video>和<audio> |
|
<embed> |
定义嵌入的内容,比如插件 |
|
<track> |
为诸如<video>和<audio>元素之类的媒介规定外部文本轨道 |
|
新表单元素 |
<datalist> |
定义选项列表。与input元素配合使用,来定义input可能的值。 |
<keygen> |
规定用于表单的密钥对生成字段。 |
|
<output> |
定义不同类型的输出,比如脚本的输出。 |
|
新的语义和结构元素 |
<aside> |
定义页面的侧边栏内容 |
<dialog> |
定义对话框,比如提示框 |
|
<figure> |
规定独立的流内容(图像图表照片代码等) |
|
<figcaption> |
定义<figure>元素的标题 |
|
<footer> |
定义section或decument的页脚 |
|
<header> |
定义文档的头部区域 |
|
<nav> |
定义运行中的进度 |
|
<section> |
定义文档中的节 |
|
<time> |
定义日期或时间 |
(二)、新表单属性
1、智能表单控件
<input type="email">
type可选以下类型:
email: 输入合法的邮箱地址
url: 输入合法的网址
number: 只能输入数字
range: 滑块
color: 拾色器
date: 显示日期
month: 显示月份
week : 显示第几周
time: 显示时间
五、HTML5 示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单属性示例</title>
</head>
<body>
<form action="test.action" method="get" autocomplete="off" novalidate>
邮箱地址:
<input type="email" name="">
<input type="submit" name="">
</form>
</body>
</html>
web 基础(二) HTML5的更多相关文章
- web基础 (二) html标签
一.html是什么? 超文本标记语言(Hypertext Markup Language,HTML)通过标签语言来标记要显示的网页中的各个部分.一套规则,浏览器认识的规则 浏览器按顺序渲染网页文件,然 ...
- Web基础知识和技术
WEB是一个外延广泛的概念,不单单指网站,乌徒帮专注拥有WEB界面的网站开发,帮助初学者或已经进入开发的朋友们提供参考讨论平台,然而并不一定能将所有的WEB知识讲全讲透,只是能满足初涉者的建站需求,能 ...
- 《零基础学HTML5+CSS3(全彩版)》读书笔记
2019年1月31日星期四 1点 <零基础学HTML5+CSS3(全彩版)>开始全面学习 前提: 11月20日开始学Python,可能因为太累了,也可能遇到了瓶颈,进入了一个迷茫期,1月6 ...
- Web基础--HTML、Css入门
一.Web项目(可跳过,直接从下一个标题开始) 1.Web项目: 指的是带网页的项目,通过浏览器可以访问的项目.比如:淘宝.天猫等. 2.Web项目构成: 浏览器(客户端).服务器.数据库. 3.Ja ...
- web基础(四)严格模式与混杂模式
web基础(四)严格模式与混杂模式 一.介绍 DOCTYPE 标签是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档.DO ...
- Web基础开发最核心要解决的问题
Web基础开发要解决的问题,往往也就是那些框架出现的目的 - 要解决问题. 1. 便捷的Db操作: 2. 高效的表单处理: 3. 灵活的Url路由: 4. 合理的代码组织结构: 5. 架构延伸 缓存. ...
- web基础--html
WebBasic 1.web应用体系 课程大纲 1.web基础:做网页 2.结构: a.html 勾勒网页结构及内容 b.css ...
- (0)写给Web初学者的教案-----Web基础
0,Web基础 一. What is the Web? Can It Eat? 很多同学可能都听说过一个名词叫做“Web”,这个词隐隐约约好像和我们上网相关.但是呢,又很难说的清楚.我们今天每位 ...
- web基础笔记整理(一)
一.程序的分层 1.界面层: 某种类型的应用程序 a.DOS(控制台运行) b.桌面应用程序--独立安装,独立运行 c.web类型--现在流行的 单机版:电脑上要安装,程序升级之后,电脑上也要升级-- ...
随机推荐
- iOS-字典转模型(单模型)的实现
用模型取代字典的好处 使用字典的坏处 一般情况下,设置数据和取出数据都使用“字符串类型的key”,编写这些key时,编译器不会有任何友善提示,需要手敲, eg:dict[@"name&quo ...
- k8s学习-Helm
4.9.Helm 4.9.1.简单使用 概念 文档:https://github.com/helm/helm/blob/master/docs/charts.md 阿里云apphub:https:// ...
- mysqldump导出数据库
问题描述:要将一个mysql中六个数据库导出来,使用mysqldump导出 mysqldump使用语法:mysqldump -uroot -p -S /data/mysql/db_itax_m/mys ...
- ubuntu18.04安装部署typecho个人博客
LNMP一键安装包安装 wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnm ...
- jreble备注
版本:2019.1.4 激活URL:http://jrebel.pyjuan.com/36931214-7bb6-42d4-afd7-26eb5628e004
- [ARC101B]Median of Medians
题目 点这里看题目. 分析 看到中位数,当然会想到二分答案. 考虑检查答案.自然,我们需要找出中位数小于二分值\(k\)的区间的个数.考虑构造一个\(b\): \[b_i=(-1)^{[a ...
- json 拼装空list、object
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; public class FastJson ...
- CentOS快速安装Nginx的方法,nginx如何启动重启停止
1.防止 make: command not found,提前安装一些插件,取决于当前环境是否已安装,如果已经安装就不需要执行此命令 yum -y install gcc automake autoc ...
- selenium(4)-针对键盘的操作
有哪些键盘操作 删除键 空格键 制表键 回退键 回车键 全选 复制 剪切 粘贴 F1-F12 ......其实就是所有键盘都能模拟,包括alt.shift.insert.delete.home等等等. ...
- 计算机网络之DNS常见攻击
DNS欺骗 在Internet上存在的DNS服务器有绝大多数都是用bind来架设的,使用的bind版本主要为bind 4.9.5+P1以前版本和bind 8.2.2-P5以前版本.这些bind有个共同 ...