声明

Web 世界中存在许多不同的文档。只有了解文档的类型,浏览器才能正确地显示文档。

HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面。这就是 <!DOCTYPE> 的用处。

<!DOCTYPE> 不是 HTML 标签。它为浏览器提供一项信息(声明),即 HTML 是用什么版本编写的。

在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML(标准通用标记语言)。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

HTML5 不基于 SGML,所以不需要引用 DTD。

在 HTML 4.01 中有三种 <!DOCTYPE> 声明。在 HTML5 中只有一种。

常用的DOCTYPE 声明

  • HTML 5

    <!DOCTYPE html>
  • HTML 4.01 Strict:该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  • HTML 4.01 Transitional:该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  • HTML 4.01 Frameset:该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
  • XHTML 1.0 Strict:该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  • XHTML 1.0 Transitional:该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • XHTML 1.0 Frameset:该 DTD 等同于 XHTML 1.0 Transitional,但允许框架集内容。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
  • XHTML 1.1:该 DTD 等同于 XHTML 1.0 Strict,但允许添加模型(例如提供对东亚语系的 ruby 支持)。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

增加标签

标签 描述
格式 
<bdi> 允许您设置一段文本,使其脱离其父元素的文本方向设置。
<mark> 定义带有记号的文本。
<meter> 定义度量衡。仅用于已知最大和最小值的度量。
<progress> 定义运行中的任务进度(进程)。
<rp> 定义不支持 ruby 元素的浏览器所显示的内容。
<rt> 定义字符(中文注音或字符)的解释或发音。
<ruby> 定义 ruby 注释(中文注音或字符)。
<time> 定义一个日期/时间
<wbr> 规定在文本中的何处适合添加换行符。
表单 
<datalist> 规定了 input 元素可能的选项列表。
<keygen> 规定用于表单的密钥对生成器字段。
<output> 定义一个计算的结果
图像 
<canvas> 通过脚本(通常是 JavaScript)来绘制图形(比如图表和其他图像)。
<figcaption> 定义figure元素的标题
<figure> figure 标签用于对元素进行组合。
Audio/Video 
<audio> 定义声音,比如音乐或其他音频流。
<source> 定义media元素 (<video> 和 <audio>)的媒体资源。media
<track> 为媒体(<video> 和 <audio>)元素定义外部文本轨道。
<video> 定义一个音频或者视频
链接 
<nav> 定义导航链接
列表 
<command> 定义用户可能调用的命令(比如单选按钮、复选框或按钮)。
样式/节 
<header> 定义一个文档头部部分
<footer> 定义一个文档底部
<section> 定义了文档的某个区域
<article> 定义一个文章内容
<aside> 定义其所处内容之外的内容。
<details> 定义了用户可见的或者隐藏的需求的补充细节。
<dialog> 定义一个对话框或者窗口
<summary> 定义一个可见的标题。 当用户点击标题时会显示出详细信息。
程序 
<embed> 定义了一个容器,用来嵌入外部应用或者互动程序(插件)。

1、结构标签

(1)section:独立内容区块,可以用h1~h6组成大纲,表示文档结构,也可以有章节、页眉、页脚或页眉的其他部分;
(2)article:特殊独立区块,表示这篇页眉中的核心内容;
(3)aside:标签内容之外与标签内容相关的辅助信息;
(4)header:某个区块的头部信息/标题;
(5)hgroup:头部信息/标题的补充内容;
(6)footer:底部信息;
(7)nav:导航条部分信息
(8)figure:独立的单元,例如某个有图片与内容的新闻块。

2、表单标签

(1)email:必须输入邮件;
(2)url:必须输入url地址;
(3)number:必须输入数值;
(4)range:必须输入一定范围内的数值;
(5)Date Pickers:日期选择器;
  a.date:选取日、月、年
  b.month:选取月、年
  c.week:选取周和年
  d.time:选取时间(小时和分钟)
  e.datetime:选取时间、日、月、年(UTC时间)
  f.datetime-local:选取时间、日、月、年(本地时间)
(6)search:搜索常规的文本域;
(7)color:颜色

3、媒体标签

(1)video:视频
(2)audio:音频
(3)embed:嵌入内容(包括各种媒体),Midi、Wav、AU、MP3、Flash、AIFF等。

4、其他功能标签

(1)mark:标注(像荧光笔做笔记)
(2)progress:进度条;<progress max="最大进度条的值" value="当前进度条的值">
(3)time:数据标签,给搜索引擎使用;发布日期<time datetime="2014-12-25T09:00">9:00</time>更新日期<time datetime="2015- 01-23T04:00" pubdate>4:00</time>
(4)ruby和rt:对某一个字进行注释;<ruby><rt>注释内容</rt><rp>浏览器不支持时如何显示</rp></ruby>
(5)wbr:软换行,页面宽度到需要换行时换行;
(6)canvas:使用JS代码做内容进行图像绘制;
(7)command:按钮;
(8)deteils :展开菜单;
(9)datailst:文本域下拉提示;
(10)keygen:加密;
  (11) bdi:定义文本的文本方向,使其脱离其周围文本的方向设置

新增的属性

对于js进行添加的属性。
<script defer src=".....js" onload="alert('a')"></script>
<script async src=".....js" onload="alert('b')"></script>
如果没有以上两个属性的话,执行顺序为先加载(下载)第一个src,然后在执行其onload,然后在向下依次同步执行defer属性在h5之前就已经有了,输入延迟加载(推迟执行),它会先加载(下载)src中文件内容,然后等页面全部加载完成后,再加载onload中js.async属性属于异步加载,它会在加载src后,立即执行onload,同时还会继续加载页面以上执行顺序,alert显示会先显示b然后再显示a

网页中标签中加入小图标的样式代码

<link rel="icon" href="url..." type="图片名称" sizes="16*16">

<iframe>新增属性

  • <!--seamless定义框架无边框 无边距-->
  • <!--srcdoc的显示级别比sandbox高-->
  • <!--sandbox用来规定一个内嵌框架的安全级别-->
  • <!--sandbox="allow-forms:允许提交表单"-->
  • <!--sandbox="allow-origin:允许是相同的源"-->
  • <!--sandbox="allow-scripts:允许执行脚本"-->
  • <!--sandbox="allow-top-navigation:允许使外面的页面进行跳转"-->

其他属性

  • manifest属性:定义页面需要用到的离线应用文件,一般放在<html>标签里
  • charset属性:meta属性之一,定义页面的字符集
  • sizes属性:<link>新增属性,当link的rel="icon"时,用以设置图标大小
  • base属性:<base href="http://localhost/" target="_blank">表示当在新窗口打开一个页面时,会将href中的内容作为前缀添加到地址前
  • defer属性:script标签属性,表示脚本加载完毕后,只有当页面也加载完毕才执行(推迟执行)
  • async属性:script标签属性,脚本加载完毕后马上执行(运行过程中浏览器会解析下面的内容),即使页面还没有加载完毕(异步执行)
  • media属性:<a>元素属性:表示对何种设备进行优化
  • hreflang属性:<a>的属性,表示超链接指向的网址使用的语言
  • ref属性:<a>的属性,定义超链接是否是外部链接
  • reversed属性:<ol>的属性,定义序号是否倒叙
  • start属性:<ol>的属性,定义序号的起始值
  • scoped属性:内嵌CSS样式的属性,定义该样式只局限于拥有该内嵌样式的元素,适用于单页开发

HTML5全局属性

属性 描述
contenteditable 规定是否可编辑元素的内容。
contextmenu 指定一个元素的上下文菜单。当用户右击该元素,出现上下文菜单
data-* 用于存储页面的自定义数据
draggable 指定某个元素是否可以拖动
dropzone 指定是否将数据复制,移动,或链接,或删除
hidden hidden 属性规定对元素进行隐藏。
spellcheck 检测元素是否拼写错误
translate 指定是否一个元素的值在页面载入时是否需要翻译
 

1.可直接在标签里插入的:data-自定义属性名字;

  hidden(直接放上去就是隐藏);
  spellcheck="true"(语法纠错);
  tabindex="1"(Tab跳转顺序);
  contenteditable="true"(可编辑状态,单击内容,可修改);

2.在JavaScript里插入的window.document.designMode = 'on'(JavaScript的全局属性,整个页面的文本都可以编辑了);

H5新增的标签和属性的更多相关文章

  1. h5废弃的标签和属性及新增的标签和属性

    一.废弃的标签和属性 1.表现性元素 a) basefont b) big c) center d) font e) strike f) tt 2.框架类元素 a) frame b) frameset ...

  2. h5新增html标签语义

    H5新增常用标签<body> <header>...</header> <nav>...</nav> <article> < ...

  3. HTML5探索一(那些新增的标签和属性)

    tml5相比html4,添加了部分语义化的标签和属性,现在我们就从这些标签和属性开始,学习html5吧. 首先,认识下HTML5新的文档类型: <!DOCTYPE html> 那些新标签 ...

  4. H5新增的标签总结

    1:便于排版的Form表单 HTML5为了方便排版,可以使form的表单标签脱离form的嵌套. 方法:form指定id,所有的标签标签都添加form= id属性. 例如: <form acti ...

  5. HTML5新增的标签和属性归纳

    收集总结的HTML5的新特性,基本除了IE9以下都可以使用. HTML5语法 大部分延续了html的语法 不同之处:开头的 <!DOCTYPE html> <html lang=&q ...

  6. HTML5新增的标签与属性

    一.关于DTD HTML5 不基于 SGML,所以不需要引用 DTD(HTML 4.01 基于 SGML) 二.HTML5结构标签 <header> 标记定义一个页面或一个区域的头部 &l ...

  7. H5新增的标签以及改良的标签

    1>OL标签的改良 start type  reversed:翻转排序 2>datalist标签自动补全的使用 3>progress标签的使用:进度条 4>meter标签的应用 ...

  8. H5新增input标签

    1.电子邮件 <input type="email" name="email"/> 默认正则:输入内容必须有@符号,@后面必须有内容 2.搜索框 & ...

  9. h5新增标签及css3新增属性

    - h5新增的标签 新增元素 说明 video 表示一段视频并提供播放的用户界面 audio 表示音频 canvas 表示位图区域 source 为video和audio提供数据源 track 为vi ...

随机推荐

  1. JS高级---利用原型共享数据

    什么样子的数据是需要写在原型中? 需要共享的数据就可以写原型中 原型的作用之一: 数据共享 //属性需要共享, 方法也需要共享 //不需要共享的数据写在构造函数中,需要共享的数据写在原型中 //构造函 ...

  2. PAT 1014 Waiting in Line (30分) 一个简单的思路

    这题写了有一点时间,最开始想着优化一下时间,用优先队列去做,但是发现有锅,因为忽略了队的长度. 然后思考过后,觉得用时间线来模拟最好做,先把窗口前的队列填满,这样保证了队列的长度是统一的,这样的话如果 ...

  3. Dirjkstra

    Description 给定n个点,m条有向边 求每个点到1号点的最短距离 Input 第一行两个数为n,m,n表示顶点个数,m表示边的条数. (1 ≤ n, m ≤ 100 ) 接下来m行,每一行有 ...

  4. python调用c++开发的动态库

    此处列举一下python调用Windows端动态库. # *- coding=utf-8 -* import ctypes from ctypes import * import os objdll ...

  5. 三星前有note7,现有GalaxyS10,爆炸原因外力?

    编辑 | 于斌 出品 | 于见(mpyujian) 提到三星,不知道大家什么感觉,反正首先映入脑海的是在Note 7系列爆炸中,三星就让中国消费者欲哭无泪的画面.而也正是三星的态度,三星手机在这件事情 ...

  6. C++中的拷贝构造函数

    一.拷贝构造函数: 格式: A(const  A& a);  总结: 系统为对象B分配了内存并完成了与对象testA的复制过程,就类对象而言,相同类型的类对象是通过拷贝构造函数来完成整个复制过 ...

  7. VBA 学习笔记 - 日期

    date() 返回当前的系统日期 返回格式为 YYYY/MM/DD CDate() 学习资料:https://www.yiibai.com/vba/vba_cdate_function.html 将有 ...

  8. 【代码学习】PYTHON 文件I/O

    一.文件的打开和关闭 open(文件名,访问模式) cloese() 模式 描述 r 以只读方式打开文件.文件的指针将会放在文件的开头.这是默认模式. rb 以二进制格式打开一个文件用于只读.文件指针 ...

  9. PyQt5单元格操作大全

    1.显示二维列表数据(QTableView)控件 '''显示二维列表数据(QTableView)控件数据源model需要创建一个QTableView实例和一个数据源model,然后将其两者关联 MVC ...

  10. spark sql 访问mysql数据库

    pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-ja ...