HTML5概要与新增标签

一、HTML5概要

1.1、为什么需要HTML5

HTML4陈旧不能满足日益发展的互联网需要,特别是移动互联网。为了增强浏览器功能Flash被广泛使用,但安全与稳定堪忧,不适合在移动端使用(耗电、触摸、不开放)。

HTML5增强了浏览器的原生功能,符合HTML5规范的浏览器功能将更加强大,减少了Web应用对插件的依赖,让用户体验更好,让开发更加方便,另外W3C从推出HTML4.0到5.0之间共经历了17年,HTML的变化很小,这并不符合一个好产品的演进规则。

1.2、什么是HTML5

HTML5指的是包括HTML、CSS和JavaScript在内的一套技术组合。它希望能够减少网页浏览器对于需要插件的丰富性网络应用服务(Plug-in-Based Rich Internet Application,RIA),例如:AdobeFlash、Microsoft Silverlight与Oracle JavaFX的需求,并且提供更多能有效加强网络应用的标准集。HTML5是HTML最新版本,2014年10月由万维网联盟(W3C)完成标准制定。目标是替换1999年所制定的HTML 4.01和XHTML 1.0标准,以期能在互联网应用迅速发展的时候,使网络标准达到匹配当代的网络需求。

1.3、HTML5现状及浏览器支持

大部分主流浏览器已经支持HTML5,但是各个浏览器支持的方式以及语法有所差异性。支持Html5的浏览器包括Firefox(火狐浏览器),IE9
及其更高版本,Chrome(谷歌浏览器),Safari,Opera等现代浏览器。

支持得分:

如果想了解更多请看本文的兼容性那一节的内容。

1.4、HTML5优点与缺点

1.4.1、优点

1、网络标准统一、HTML5本身是由W3C推荐出来的。
2、多设备、跨平台
3、即时更新。
4、提高可用性和改进用户的友好体验;
5、有几个新的标签,这将有助于开发人员定义重要的内容;
6、可以给站点带来更多的多媒体元素(视频和音频);
7、可以很好的替代Flash和Silverlight;
8、涉及到网站的抓取和索引的时候,对于SEO很友好;
9、被大量应用于移动应用程序和游戏。

1.5.2、缺点

a)、安全:像之前Firefox4的web socket和透明代理的实现存在严重的安全问题,同时web storage、web socket 这样的功能很容易被黑客利用,来盗取用户的信息和资料。
b)、完善性:许多特性各浏览器的支持程度也不一样。
c)、技术门槛:HTML5简化开发者工作的同时代表了有许多新的属性和API需要开发者学习,像web worker、web socket、web storage 等新特性,后台甚至浏览器原理的知识,机遇的同时也是巨大的挑战
d)、性能:某些平台上的引擎问题导致HTML5性能低下。
e)、浏览器兼容性:最大缺点,IE9以下浏览器几乎全军覆没。

二、新增的结构标签

2.1、新增的结构标签

在HTML4.01中div被广泛用于各种布局环境在,没有明确的定义,HTML5为了SEO将div语义化了,新增加结构标签如下:

a)、section元素 
表示页面中的一个内容区块,比如章节、页眉、页脚或页面的其他部分。可以和h1、 h2……等元素结合起来使用,表示文档结构。例:HTML5中<section>……</section>;HTML4中<div> ……</div>。

b)、article元素 
表示页面中一块与上下文不相关的独立内容。比如一篇文章。

c)、aside元素 
表示article元素内容之外的、与article元素内容相关的辅助信息。

d)、header元素 
表示页面中一个内容区块或真个页面的标题。

e)、hgroup元素 
表示对真个页面或页面中的一个内容区块的标题进行组合。

f)、footer元素 
表示整个页面或页面中一个内容区块的脚注。一般来说,他会包含创作者的姓名、创作日期以及创作者的联系信息。

g)、nav元素 
表示页面中导航链接的部分。

h)、figure元素 
表示一段独立的流内容,一般表示文档主体流内容中的一个独立单元。使用figcaption元素为figure元素组添加标题。例如: 
<figure> 
<figcaption>PRC</figcaption> 
<p>The People's Republic of China was born in 1949</p> 
</figure> 
HTML4中常写作 
<dl> 
<h1>prc</h1> 
<p>The People's Republic of China was born in 1949</p> 
</dl>

HTML 结构

CSS 表现

JavaScript 行为

示例:

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>京东创始人刘强东一元年薪背后的O2O棋局</title><style type="text/css">* {margin: 0;        /*所有元素的外边距为零*/padding: 0;font-family: "microsoft yahei";}ul li {list-style: none;}#container {width: 900px;margin: 0 auto;}header {height: 80px;line-height: 80px;background: dodgerblue;color: #fff;padding: 0 20px;}header h1 {font-size: 30px;font-weight: normal;}#main {font-size: 14px;}#main article {float: left;width: 70%;margin-right: 3%;}#main article hgroup{height: 70px;}#main article p{line-height: 22px;margin-bottom: 5px;text-indent: 26px;}#main aside {float: left;width: 27%;}#main aside li{height: 26px;line-height: 26px;overflow: hidden;}#main aside li a{text-decoration: none;border-bottom: 1px dashed #ccc;}#main aside li a:hover{background:orangered;color:white;}footer{clear: both;height:70px ;line-height: 70px;background: #FF4500;color: #fff;text-align: center;}footer nav li{display: inline-block;margin-right: 8px;}</style></head><body><div id="container"><header><h1>中国电子商务研究中心</h1></header><section id="main"><article><hgroup><h2>京东创始人刘强东一元年薪背后的O2O棋局</h2><h3>2015年10月06日14:50  中国电子商务研究中心</h3></hgroup><section><p>京东董事会今年5月份批准了针对公司董事长兼CEO刘强东的一项为期10年的薪酬计划。计划规定,10年内,刘强东每年只能领到1元现金形式底薪和零元现金形式奖金。难道刘强东就因此连杯奶茶也买不起了吗?这么想就太天真了。根据京东的股权激励计划,刘强东被授予涉及2600万股京东A级普通股的购买权,涉及股票规模约占京东总股本的0.9%,只有当每股ADS达到或超过33.4美元(相当于京东股价不低于16.7美元)时,刘强东才能将这部分股权进行套现。</p><p>按每股16.7美元计算,刘强东获得的这部分股权将价值4.34亿美元,相当于27.8亿人民币。在这10年内,公司不得再向刘强东授予额外股权。其实“一元年薪”不仅并非刘强东首创,甚至已经成为企业面临危机时的一种常见路数。诸多企业都采取过“一元年薪”,比如三一重工。2008年经济危机时,三一重工[微博]全体董事降薪90%,并接受高管自愿降薪申请,三一重工[微博]董事长梁稳根甚至主动申请将自己的年薪降至一元。</p><p>对于目前并没有表现得很困难的京东来说,中国电子商务协会研究中心专家委员唐兴通认为,“一元年薪”只是对于团队管理上的一种姿态而,并没有什么特别实际的用处。而上述股权激励计划更多的是为了稳定投资者的信心稳定投资者信心或许是为了缓解其在最新一期财务报告中持续亏损所带来的负面影响8月7日,京东发布了2015年第二季度财报。据财报显示,虽然京东第二季度交易总额为1145亿元,同比增长82%,净收入则达到459亿元,同比增长61%。</p><p>尽管京东业绩增长强劲,但其似乎还没有找到有效的盈利模式。在去年第二季度净亏损5.825亿元的京东,今年该季度依然净亏损5.104亿元,净利润率为-1.1%。该公司在2015年第二季度非美国通用会计准则下净亏损为1570万元人民币(约250万美元),净利润率为-0.03%。但事情却未向着京东期望的方向发展。据资料显示,以8月5日京东收盘价34.32美元计,至8月12日,短短5个交易日,其最低价格下探至25.64美元,最大跌幅高达25.29%;按其总股本27.35亿股计,5个交易日,京东蒸发市值237亿美元,蒸发比例高达39%。</p></section></article><aside><ul><li><a href="zt/2015zhifu/">让红包再多飞一会——新春土豪玩转红包 霸主地位花落谁家</a></li><li><a href="zt/2015taobao/">淘宝PK国家监管部门“假货“争议引发“史上最大危机”?</a></li><li><a href="zt/2015expectation/">2015电子商务展望</a></li><li><a href="zt/2014pandian/">2014年度中国电子商务产业链系列盘点专题 </a></li><li><a href="zt/20141111/">六年历程、上市首秀:电商鏖战“双11”全程直播大型专题报道 </a></li><li><a href="zt/2014shcb/">2014上半年电商上市公司财报解读</a></li><li><a href="zt/wganq/">全国百家电商牵手质检机构 保障网购产品质量与安全行动计划</a></li><li><a href="zt/sn818/">苏宁打响“百日会战” 电商再掀促销“风暴”</a></li><li><a href="zt/dssj/">从电商平台第三方卖家奢侈品售假 揭电商假货之觞 引行业地震</a></li><li><a href="zt/2014World_Cup/">足球盛宴 电商角逐“世界杯经济”</a></li><li><a href="zt/jdipo/">京东启动赴美IPO 优势与挑战并存</a></li><li><a href="zt/anl_al2014/">阿里巴巴集团提交IPO招股书 招股书背后的机遇与挑战</a></li><li><a href="zt/jmipo/">聚美优品向美提交上市申请 招股书背后机遇与挑战并存</a></li><li><a href="zt/7twlytui/">电商VS消费者 电商7天无理由退货大阅兵</a></li><li><a href="zt/jdtx/">腾讯战略投资京东 国内B2C电商市场格局将迎 "寡头时代"</a></li><li><a href="zt/jdo2o/">京东零售业O2O战略万家便利店ERP供应商签约仪式</a></li><li><a href="zt/yhty/">聚焦"7天无理由退货" 专家解读《网络交易管理办法》、《新消法》</a></li><li><a href="zt/2014lh/">聚焦2014两会——鼓励电子商务创新发展 互联网金融掀新一轮颠覆潮</a></li><li><a href="zt/2014315/">倡导阳光 诚信 安全网购 迎接电商立法元年</a></li><li><a href="zt/anl_wxqb/">微信红包引发移动端支付争夺战 占据高地为时尚早</a></li></ul></aside></section><footer><nav><ul><li>关于我们</li><li>联系我们</li><li>投稿撤稿</li><li>友情链接</li><li>免责声明</li><li>人才招聘</li><li>独家专题</li><li>中心微信</li></ul></nav></footer></div></body></html>
View Code

运行结果:

2.2、新增加其它元素

2.2.1、meter

表示特定范围内的数值,可用于工资、数量、百分比等 max表示最大值,min表示最小值,value代表当前值。

<meter max="100" min="0" value="60" style="width: 300px;"></meter>

可以试试用js控制让它从0变化到100。

2.2.2、time

time。表示时间值,属性datetime强调时间
大会时间:<time>2015-10-6</time>

<time>2015-10-6</time>
我们在每天早上 <time>8:30</time> 开始上课。 我在<time datetime="2017-02-14">情人节</time>有个约会。

运行效果:

 因为该标签是一个语义标签,在浏览器上查看时没有特别的效果,基本与没有设置标签的效果相同。

2.2.3、progress

用来表示进度条

        <h3>progress</h3><progress value="75" max="100"></progress>

max:最大值,完成时的值

value:当前值

firefox运行结果:

 

 

2.2.4、datalist

该标签定义可选数据的列表。与 input 元素配合使用,就可以制作出输入值的下拉列表。

当与input组合时既可以完成选择有可以输入。

<input type="text" list="countries" /><datalist id="countries"><option value="中国"></option><option value="美国"></option><option value="日本"></option></datalist>

运行结果:

3.3.1、video视频标签

用于在播放视频,电影

标签基本格式如下:

复制代码
        <video width="800" height="600" controls="controls" poster="content/1.jpg"><source src="content/iceage4.mp4" type="video/mp4"></source><source src="content/iceage4.webm" type="video/webm"></source><object width="" height="" type="application/x-shockwave-flash" data="myvideo.swf"><param name="movie" value="myvideo.swf" /><param name="flashvars" value="autostart=true&amp;file=myvideo.swf" /></object>当前浏览器不支持 video直接播放,点击这里下载视频: <a href="content/iceage4.webm">下载视频</a></video>
复制代码

运行效果:

source是视频源,可以有多种,当一种失败时将选择下一种,主要有如下3种:

Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件
MPEG4 = 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件
WebM = 带有 VP8 视频编码和 Vorbis 音频编码的 WebM 文件

格式支持情况:

 标签属性:

 source子标签属性:

 

video API方法

video API属性

video API事件

注意:

        <video src="img/iceage4.mp4" controls="controls" poster="img/1.jpg">您的浏览器太老了,请升级,视频下载<a href="#">地址</a></video>

多数的HTML5标签的innerHTML内容是浏览器不支持该标签时显示的内容。

事件绑定与监听的区别:

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>事件绑定与监听的区别</title></head><body><button id="btnA">按钮A</button><button id="btnB">按钮B</button><script type="text/javascript">var btnA = document.getElementById("btnA");var btnB = document.getElementById("btnB");btnA.onclick = function() {alert("你点了一下");}btnA.onclick = function() {alert("你又点了一下");}btnB.addEventListener("click",function(event){alert("你点了一下");},false);btnB.addEventListener("click",function(event){alert("你又点了一下");},false);</script></body></html>
View Code

运行结果:

使用on事件名的形式绑定事件后绑定会覆盖前面绑定的事件,也就是最后一个绑定的事件会生效;

使用addEventListener绑定事件则不会覆盖,可同时在一个元素上绑定多个相同的事件。

video API的属性与事件示例:

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>Video 标签</title></head><body><video id="videoIce" width="800" height="600" controls="controls" poster="content/1.jpg"><source src="content/iceage4.mp4" type="video/mp4"></source><source src="content/iceage4.webm" type="video/webm"></source><object width="" height="" type="application/x-shockwave-flash" data="myvideo.swf"><param name="movie" value="myvideo.swf" /><param name="flashvars" value="autostart=true&amp;file=myvideo.swf" /></object> 当前浏览器不支持 video直接播放,点击这里下载视频:<a href="content/iceage4.webm">下载视频</a></video><h2><button onclick="play()">播放</button><button onclick="pause()">暂停</button><span id="msg"></span></h2><script type="text/javascript">var videoIce=document.getElementById("videoIce");function play() {videoIce.play();}function pause() {videoIce.pause();}videoIce.ontimeupdate = function() {document.getElementById("msg").innerHTML=videoIce.currentTime;}</script></body></html>
View Code

运行结果:

3.3.2、audio音频标签

 audio可以实现播放声音,音乐功能。

<audio src=http://baidu/demo/test.mp3 controls >
您的浏览器不支持audio元素
</autio>

<audio src="content/fcml.mp3" controls="controls" autoplay="autoplay"></audio>

 

audio标签的属性,很多属性都是与video相同的:

autoplay:true|false,如果是 true,则音频在就绪后马上播放。 
controls:true|false 如果是true,则向用户显示控件,比如播放按钮。 
end:numeric value 定义播放器在音频流中的何处停止播放。默认地,声音会播放到结尾。 
loopend:numeric value 定义在音频流中循环播放停止的位置,默认是 end 属性的值。 
loopstart: numeric value 定义在音频流中循环播放的开始位置。默认是 start 属性的值。 
playcount: numeric value 定义音频片断播放多少次。默认是 1。 
src: url 所播放音频的 url。 
start : numeric value 定义播放器在音频流中开始播放的位置。默认地,声音在开头进行播放。

source子标签

使用source元素作为多媒体元素的子标签
例:
<audio>
<source src='test.mp3’ type='audio/mpeg'/>
<source src='test.ogg’ type='audio/ogg'/>
<source src='test.spx’ type='audio/ogg'/>
</audio>
使用source元素,浏览器在列表顺序查找,直到找到一个它能播放的文件格式,找到后,就播放该文件并忽略随后的其它元素。

audio的API与video基本一样,下面是一个自定义调整音量的示例:

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>audio标签</title></head><body><h2>audio标签</h2><audio src="content/fcml.mp3" controls="controls" autoplay="autoplay" id="mp3"><marquee><h2>换个浏览器吧,太老了</h2></marquee></audio><input type="range" min="0" max="100" onchange="setVolume(this)" />  <script type="text/javascript">function setVolume(obj){document.getElementById("mp3").volume=obj.value*0.01;}</script></body>
</html>

运行结果:

 

转载于:https://www.cnblogs.com/huafang/p/10669597.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tomcat启动失败错误解决Could not publish server configuration for Tomcat v8.0 Server at localhost....

这个问题本质是我们有多个重名项目&#xff0c;为什么我们会有多个重名项目&#xff0c;其实一般都是我们删除以前的项目&#xff0c;然后再把它重新导进eclipse时以前的项目删除不彻底造成的&#xff0c;以前的项目在"Servers"里面的"server.xml"文件下的…

Mock.js 和Node.js详细讲解

​​​​原文地址&#xff1a;http://www.manongjc.com/article/10503.html 《一统江湖的大前端》系列是自己的前端学习笔记&#xff0c;旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库&#xff0c;不定期更新。如果你对前端的理解还是写写页面绑绑事件&am…

架构图

负载均衡 分布式 转载于:https://www.cnblogs.com/jiqing9006/p/10672280.html

文本聊天室(TCP-中)

开始我们今天的代码实现&#xff0c;我们接着上一回&#xff0c;上回实现了服务器的代码这次实现客户端的UI(界面)层, 我们界面层采用javafx来进行绘制,首先有个登录服务器的界面然后切换到聊天界面运行结果如下.源代码如下: 1 package jffx.blogs.net;2 3 import javafx.appli…

爱好-摩托车:铃木

ylbtech-爱好-摩托车&#xff1a;铃木1.返回顶部 2.返回顶部3.返回顶部4.返回顶部5.返回顶部 1、http://www.suzuki-china.com/motor/2、6.返回顶部作者&#xff1a;ylbtech出处&#xff1a;http://ylbtech.cnblogs.com/本文版权归作者和博客园共有&#xff0c;欢迎转载&#x…

vue面试题,知识点汇总(有答案)

一. Vue核心小知识点 1、vue中 key 值的作用 key 的特殊属性主要用在 Vue的虚拟DOM算法&#xff0c;在新旧nodes对比时辨识VNodes。如果不使用key&#xff0c;Vue会使用一种最大限度减少动态元素并且尽可能的尝试修复/再利用相同类型元素的算法。使用key&#xff0c;它会基于…

EF中Take和Skip的区别

以例子来说明&#xff1a; 数据库中Orders表如下&#xff1a; 代码部分&#xff1a; 运行结果&#xff1a; 可以看出&#xff1a;Take()方法的作用是从查询结果中提取前n个结果&#xff1b;而Skip()方法则是跳过前n个结果&#xff0c;返回剩余的结果。转载于:https://www.cnblo…

详解Vuex常见问题、深入理解Vuex

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。 状态&#xff1f;我把它理解为在data中的属性需要共享给其他vue组件使用的部分&#xff0c;就叫做状态。简单的…

Mac OS Git 安装

一、Git是一个分布式的代码版本管理工具。类似的常用工具还有SVN,CVS。最大的特点也是优点在于提供分布式的代码管理 1、分支代码只有一份&#xff01; 使用过svn的童鞋想必都知道&#xff0c;当我们要开发一个新功能或者增加一个新版本或者修改一个复杂bug的时候&#xff0c…

JS对象与jQuery对象

JS对象大致可以分为三种&#xff0c;如下图&#xff1a; JS常用内置对象&#xff08;JS自身所持有的对象&#xff0c;不需要创建&#xff0c;直接可用&#xff09;&#xff1a; String&#xff1a;API跟java的字符串API大致相同 两种创建对象的方式&#xff1a;String s1 “…

Nginx Slab内存管理

L38 Slub内存管理适用 ngx_http_limit_conn_module、ngx_http_limit_req_module 模块场景 我们可以用阿里第三方模块Slab_Stat模块 并且用add-module 方式编译进openresty中 转载于:https://www.cnblogs.com/jackey2015/p/10684151.html

Node.js异步库async

async的使用需要安装第三方包 1.串行无关联 async.series 函数依次执行,后面不需要调前面步骤的结果 程序执行时间为所有步骤之和 2.并行无关联 async.paraller 某步出错不影响其他步骤执行 程序执行时间为最长的那个时间 3.串行有关联 async.waterfall 函数依次执行,后面需要…

vue的双向绑定原理及实现

前言 使用vue也好有一段时间了&#xff0c;虽然对其双向绑定原理也有了解个大概&#xff0c;但也没好好探究下其原理实现&#xff0c;所以这次特意花了几晚时间查阅资料和阅读相关源码&#xff0c;自己也实现一个简单版vue的双向绑定版本&#xff0c;先上个成果图来吸引各位&a…

作业——8

这个作业属于哪个课程C语言程序设计Ⅱ这个作业的要求在哪里C语言作业评价标准我在这个课程的目标是指针与字符串这个作业在哪个具体方面帮助我实现目标使用指针与字符串参考文献指针和字符串&#xff08;基础知识&#xff09;第七周作业 一 1 、使用函数删除字符串中的字符 输入…

Vue实现组件props双向绑定解决方案

注意&#xff1a; 子组件不能直接修改prop过来的数据&#xff0c;会报错 方案一&#xff1a; 用data对象中创建一个props属性的副本 watch props属性 赋予data副本 来同步组件外对props的修改 watch data副本&#xff0c;emit一个函数 通知到组件外 HelloWorld组件代码如下…

Flask系列06--(中间件)Flask的特殊装饰器 before_request,after_request, errorhandler

一.使用 Flask中的特殊装饰器(中间件)方法常用的有三个 app.before_request # 在请求进入视图函数之前app.after_request # 在请求结束视图函数之后 响应返回客户端之前app.errorhandler(404) # 重定义错误信息before_request def func():passafter_request def func(ret): # …

CSS像素、物理像素、逻辑像素、设备像素比、PPI、Viewport

最近看了很多这方面的文章&#xff0c;能搜到的基本看了个遍&#xff0c;但感觉还是似懂非懂&#xff0c;知道这个东西&#xff0c;很难说出这是个什么东西&#xff0c;先整理一些概念&#xff0c;慢慢消化&#xff0c;以后慢慢探索其中的原因。 1、PX(CSS pixels) 1.1 定义 …

【转】10条你不可不知的css规则

10条你不可不知的css规则 Posted on 2006-12-20 10:33 雨中太阳 阅读(343) 评论(1) 编辑 收藏 &#xff1a;【译】10条你不可不知的css规则正文&#xff1a; Published December 6th, 2004 in CssStaff Tags: No Tags. 原文地址&#xff1a;Ten CSS Tricks You May not Know k…

Python 面向对象【1】

对象 属性 方法面向对象特征&#xff1a;分装 继承 多态【不同对象对同一方法响应不同行动】类定义class xxx:........类对象类对象支持两种操作&#xff1a;属性引用和实例化 属性引用 使用和 Python 中所有的属性引用一样的标准语法&#xff1a;类对象名.属性名 类对象创建…

福大软工 · 第八次作业(课堂实战)- 项目UML设计(团队)

1、队伍信息&#xff1a; 队伍名称&#xff1a;彳艮彳亍团队 学号名本次作业博客链接031602219奇豪(队长)https://www.cnblogs.com/S031602219/p/9822576.html041602209毓明http://www.cnblogs.com/mingsonic/p/9820702.html041602204水源http://www.cnblogs.com/littlenorthwe…