HTML5学习笔记(一):HTML5基本概念
2024-08-31 12:20:16
1、HTML的发展历程
HTML(1994年,W3C成立)
HTML2(1995年)
HTML3(1996年)
HTML4.0(1997年)
HTML4.01(1999年)——HTML5(2008年:最开始由WHATWG【Web Hypertext Application Technology Workoing GROUP】提出并创建,后由W3C制定为标准)
XHTML1.0(2000年)
XHTML1.1(2001年)
注:HTML5现在代表的是“HTML5以及所有相关标准”,包括了许多容易管理的分支。因此说“某某浏览器支持HTML5”是不准确的,其实任何浏览器支持的都是HTML5相关功能的子集。
2、HTML5的三个主要原理
- 不破坏Web:即HTML5的引入不会导致已有的网页无法工作;
- 修补牛蹄子路:牛蹄子路是指走起来不是最舒服但使用频率最高的路,HTML5选择使用对用户最适合的方式;
- 实用至上:HTML5中的所有规则都以实用为最终目标。
3、HTML5对废弃元素的处理
因为HTML5支持所有的HTML(包括HTML4.01和XHTML),因此它包含许多废弃的元素,这令许多新手感到困惑(比如我-_-),因为这样的话那些不遵从规范的人写出的页面可能包含废弃元素,为了解决这个问题,HTML5规范包含两个独立的部分:
- 面向Web开发人员,它要求开发人员摒弃坏习惯和废弃的元素;
- 面向浏览器开发商,它要求浏览器必须支持HTML中存在的一切,做到向后兼容,这样即使开发人员的代码中使用了废弃的元素,浏览器也可以正常显示。
4、HTML5的基本格式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>...</title>
<link href="style.css" rel="stylesheet" />
<script src="java.js"></script>
</head> <body>
<p>...</p>
</body>
</html>
5、HTML5所遵循的约定
- 必须包含<html>、<body>、<head>元素,并且页面定义自然语言(在<html>标签内);
- 标签全部小写且空标签要闭合,正确嵌套;
- 为所有的属性值加引号。
6、HTML5元素家族
- 新增的元素
类别 | |
用于构建页面的语义元素 |
<article>、<aside>、<figure>、<figcaption>、<header>、<footer>、<nav> <csection>、<details>、<summary>、<main> |
用于标识文本的语义元素 | <mark>、<time>、<wbr>(用于在某处断行,以前就有,现在已经列入规范) |
Web表单及交互 |
<input>(非新元素,但新增了很多新类型)、<datalist>、<keygen>、<meter>、<progress> <command>、<menu>、<output> |
音频、视频及插件 | <audio>、<video>、<source>、<embed>(以前就支持,现在已经规范) |
Canvas | <canvas> |
- 改变的元素
<small>:不再用于减少文本字体,用于”附属细则“,比如页面底部的那些法律条款;
<hr>:在HTML5中,表示主题的转换,即从一个主题变为另一个主题,默认额的格式不变,只不过含义不同;
<s>:不仅仅表示给文本加删除线那么简单,现在表示不再准确相关的内容。
7、对付旧版本的浏览器
- 平稳退化:某些新引入的元素可以为老的浏览器提供替代内容(比如<canvas>元素可提供使用Flash插件);如果用户浏览器不支持某项功能,应该选择使用不太花哨的方式;
- 借助于JavaScript:HTML5中的某些功能可使用优秀的JavaScript库(腻子脚本)来实现。
最新文章
- C#中使用反射获取结构体实例
- ThinkPHP 3.2.3 数据缓存与静态缓存
- Android ImageView src与backgroud
- C# 设置程序开机自动运行(+注册表项)
- 用Eclipse和GDB构建ARM交叉编译和在线调试环境
- golang入门--一个简单的http client
- C++ Primer 学习笔记_2_高速入口(继续)
- 关于开发中使用writeToFile时的注意事项
- Swift 了解(1)
- HTML 简述
- 新手尝试Android studio连接mumu调试程序
- bootstrap.css.map 404
- FAT文件系统规范v1.03学习笔记---1.保留区之启动扇区与BPB
- 2186 ACM 水题 int 向下取整
- HTML转义字符 Unicode和CSS伪类介绍
- ACMG遗传变异分类标准与指南
- mybatis中@Param的使用
- Lintcode---二叉树的最大节点
- iOS:多线程的详细介绍
- python作业-网络编程
热门文章
- zzulioj--1637--Happy Thanksgiving Day - WoW yjj!(水)
- hdoj--1276--士兵队列训练问题(数组模拟)
- 转:centos下升级git版本的操作记录
- Java NIO(三)通道
- iOS11即将到来,让我们具体了解下
- 编码介绍(ANSI、GBK、GB2312、UTF-8、GB18030和 UNICODE)
- Python笔记24-----迭代器、生成器的使用(如嵌套列表的展开、树的遍历等)
- HDU 5763 Another Meaning (KMP/哈希+DP)
- BZOJ 4942 NOI2017 整数 (压位+线段树)
- [luogu4195 Spoj3105] Mod (大步小步)