HTML5移动开发的基础与技巧(一)HTML5新增标签及应用场景
HTML5移动开发
HTML5的发展
HTML5 是 W3C 与 WHATWG 合作的结果。WHATWG为 HTML5 建立的一些规则:
- 新特性应该基于 HTML、CSS、DOM 以及 JavaScript。
- 减少对外部插件的需求(比如 Flash)
- 更优秀的错误处理
- 更多取代脚本的标记
- HTML5 应该独立于设备
- 开发进程应对公众透明
新特性
HTML5 中的一些有趣的新特性:
- 用于绘画的 canvas 元素
- 用于媒介回放的 video 和 audio 元素
- 对本地离线存储的更好的支持
- 新的特殊内容元素,比如 article、footer、header、nav、section
- 新的表单控件,比如 calendar、date、time、email、url、search
HTML5新增标签
标签 | 描述 |
---|---|
<article>
|
定义article |
<aside>
|
定义页面内容之外的内容。 |
<audio>
|
定义声音内容。 |
<bdi>
|
定义文本的文本方向,使其脱离其周围文本的方向设置。 |
<canvas>
|
定义图形。 |
<command>
|
定义命令按钮。 |
<datalist>
|
定义下拉列表。 |
<details>
|
定义元素的细节。 |
<embed>
|
定义外部交互内容或插件。 |
<figcaption>
|
定义 figure 元素的标题。 |
<figure>
|
定义媒介内容的分组,以及它们的标题。 |
<footer>
|
定义 section 或 page 的页脚。 |
<header>
|
定义 section 或 page 的页眉。 |
<hgroup>
|
定义有关文档中的 section 的信息。 |
<keygen>
|
定义生成密钥。 |
<main>
|
定义文档的主要内容。 |
<mark>
|
定义有记号的文本。 |
<meter>
|
定义预定义范围内的度量。 |
<nav>
|
定义导航链接。 |
<output>
|
定义输出的一些类型。 |
<progress>
|
定义任何类型的任务的进度。 |
<rp>
|
定义若浏览器不支持 ruby 元素显示的内容。 |
<rt>
|
定义 ruby 注释的解释。 |
<ruby>
|
定义 ruby 注释。 |
<section>
|
定义 section。 |
<source>
|
定义媒介源。 |
<summary>
|
定义 details 元素的标题。 |
<time>
|
定义日期/时间。 |
<track>
|
定义用在媒体播放器中的文本轨道。 |
<video>
|
定义视频。 |
article
1、定义和用法:
<article>
article元素代表文档、页面或应用程序中独立的、完整的、可以独自被外部引用的内容。
项目中可能的 article 实例:
- 论坛帖子
- 报纸文章
- 博客条目
- 用户评论
2、实例
<article><header><h1>article元素使用方法</h1><p>发表日期:<time pubdate="pubdate">2019/05/20</time></p></header><p>article元素是什么?怎样使用article元素?……</p><section><h2>评论</h2><article><header><h3>发表者:john</h3><p><time pubdate datetime="2019-05-20T:21-26:00">1小时前</time></p></header><p>这篇文章很不错啊,顶一下!</p></article><article><header><h3>发表者:神秘唯一</h3><p><time pubdate datetime="2019-05-20T:21-26:00">1小时前</time></p></header><p>这篇文章很不错啊,对article解释的很详细</p></article></section>
</article>
section
1、定义和用法:
section元素用于对网站或应用程序中页面上的内容进行分块。一个section元素通常由内容及其标题组成。但section元素并非一个普通的容器元素;当一个内容需要被直接定义样式或通过脚本定义行为时,推荐使用div而非section元素。section元素中的内容可以单独存储到数据库中或输出到word文档中。
2、实例
通常不推荐为那些没有标题的内容使用section元素。
section元素的作用是对页面上的内容进行分块,或者说对文章进行分段,请不要与有着自己的完整的、独立的内容的article元素混淆。
<section><h1>section元素使用方法</h1><p>什么时候用section元素?怎样合理使用section元素?</p>
</section><article><h1>article元素与section元素的使用方法</h1><p>何时使用article元素?何时使用section元素…..</p><section><h2>article元素使用方法</h2><p>article元素代表文档、页面或应用程序中独立的、完整的、可以独自被外部引用的内容。</p></section><section><h2>section元素使用方法</h2><p> section元素用于对网站或应用程序中页面上的内容进行分块。</p></section>
</article>
3、section 使用禁忌
- 不要将section元素用作设置样式的页面容器,那是div元素的工作。
- 如果article元素、aside元素或nav元素更符合使用条件,不要使用section元素。
- 不要为没有标题的内容区块使用section元素。
4、section 与 article 的区别
在HTML5中,article元素可以看成是一种特殊类型的section元素,它比 section元素更强调独立性。即section元素强调分段或分块,而article强调独立性。具体来说,如果一块内容相对来说比较独立的、完整的时候,应该使用article元素,但是如果你想将一块内容分成几段的时候,应该使用section元素。另外,在HTML5中,div元素变成了一种容器,当使用CSS样式的时候,可以对这个容器进行一个总体的CSS样式的套用。
aside
1、定义和用法
HTML<aside>
元素表示一个页面的一部分, 它的内容跟这个页面的其它内容的关联性不强,或者是没有关联,单独存在。<aside>
元素通常显示成侧边栏(sidebar)或一些插入补充内容。通常用来在侧边栏显示一些定义,比如目录、索引、术语表等;也可以用来显示相关的广告宣传,作者的介绍,Web应用,相关链接,当前页内容简介等。
不要使用<aside>
元素标记括号中的文字,因为这种类型的文本被认为是主内容的一部分。
2、实例
<article> <p> The Disney movie <em>The Little Mermaid</em> was first released to theatres in 1989. </p> <aside> The movie earned $87 million during its initial release. </aside> <p> More info about the movie... </p>
</article>
main
1、定义和用法
<main>
标签规定文档的主要内容。
<main>
元素中的内容对于文档来说应当是唯一的。它不应包含在文档中重复出现的内容,比如侧栏、导航栏、版权信息、站点标志或搜索表单。
**注释:**在一个文档中,不能出现一个以上的 <main>
元素。 元素不能是以下元素的后代:<article>
、<aside>
、<footer>
、<header>
或 <nav>
。
2、实例
<main><h1>Web Browsers</h1><p>Google Chrome、Firefox 以及 Internet Explorer 是目前最流行的浏览器。</p><article><h1>Google Chrome</h1><p>Google Chrome 是由 Google 开发的一款免费的开源 web 浏览器,于 2008 年发布。</p></article><article><h1>Internet Explorer</h1><p>Internet Explorer 由微软开发的一款免费的 web 浏览器,发布于 1995 年。</p></article><article><h1>Mozilla Firefox</h1><p>Firefox 是一款来自 Mozilla 的免费开源 web 浏览器,发布于 2004 年。</p></article>
</main>
header
1、定义和用法
标签 <header>
定义文档的页眉(介绍信息)。
2、实例
<header><h1>Welcome to my homepage</h1><p>My name is Donald Duck</p>
</header>
<p>The rest of my home page...</p>
footer
1、定义和用法
标签 <footer>
定义文档或节的页脚。
元素 <footer>
应当含有其包含元素的信息。
页脚通常包含文档的作者、版权信息、使用条款链接、联系信息等等。
您可以在一个文档中使用多个 <footer>
元素。
2、实例
<footer><p>Posted by: GP-1011</p><p>Contact information: <a href="mailto:someone@example.com">someone@example.com</a>.</p>
</footer>
nav
1、定义和用法
<nav>
是与导航相关的,所以一般用于网站导航布局。同时完全就像使用div
标签、span
标签一样来使用<nav>
标签,可添加id
或class
。而与div
标签又有不同处是,此标签一般只用于导航相关地方使用,所以在一个html网页布局中可能就使用在导航条处,或与导航条相关的地方布局使用。
2、实例
<nav> <ul> <li>首页</li> <li>栏目名称</li> <li>联系我们</li> </ul>
</nav>
datalist
1、定义和用法
<datalist>
标签定义选项列表。与 input 元素配合使用该元素,来定义 input 可能的值。
datalist 及其选项不会被显示出来,它仅仅是合法的输入值列表。
使用 input 元素的 list 属性来绑定 datalist。
2、实例
<input id="myCar" list="cars" /><datalist id="cars"><option value="BMW"><option value="Ford"><option value="Volvo">
</datalist>
command
1、定义和用法
在HTML5中,<command>
标签是用来表示用户能够调用的命令,可以定义命令按钮,比如单选按钮、复选框或按钮。<command>
标签在<menu>
元标签中才是可见的,它还可以规定键盘快捷键。<command>
标签是html 5中新增标签,目前只有在IE 9中支持。
2、实例
<menu><command type="command" label="Save" onclick="save()">Save</command>
</menu>
details & summary
1、定义和用法
<details>
标签 用于描述文档或文档某个部分的细节,与 <summary>
标签 配合使用可以为 details 定义标题。标题是可见的,用户点击标题时,会显示出 details。
<details>
标签 拥有 open 属性,“details” 元素默认是隐藏的,设置 open 属性后,可以定义"details" 元素默认可见,与checkbox定义checked属性是一个道理。
2、实例
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>details & summary</title><style>div {width: 7%;margin: 0 auto;text-align: center;float: left;}::-webkit-details-marker {display:none;}::-moz-list-bullet {font-size: 0;float: left;}details {position:relative;background:#f5f5f5;}summary {font-weight:bolder;cursor:pointer;user-select: none;outline: 0;}li {border:1px solid #eee;border-top : 0;list-style: none;background-color: #eee;}/* 实现动画的原理 */summary::after {content: '';width: 0;height: 0;line-height: 0;font-size: 0;border-left: 5px dashed transparent;border-right: 5px dashed transparent;border-top: 5px solid #000;position: absolute;top: 44%;right: 8%;transition:.3s ease-out;}[open] summary::after {transform:rotate(180deg)}ul {max-height: 0;padding:0;margin-top:0;transition: .3s ease-out;overflow: hidden;margin-right:5px;}[open] + ul {max-height: 60px;}</style>
</head>
<body><div><details open><summary>商品管理</summary></details><ul><li>商品列表</li><li>添加商品</li></ul></div><div><details open><summary>品牌管理</summary></details><ul><li>品牌列表</li><li>添加品牌</li></ul></div><div><details open><summary>分类管理</summary></details><ul><li>分类列表</li><li>添加分类</li></ul></div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>details & summary</title><style>div {width: 7%;margin: 0 auto;text-align: center;}::-webkit-details-marker {display:none;}::-moz-list-bullet {font-size: 0;float: left;}details {position:relative;background:#f5f5f5;}summary {font-weight:bolder;cursor:pointer;user-select: none;outline: 0;}li {border:1px solid #eee;border-top : 0;list-style: none;}/* 实现动画的原理 */summary::after {content: '';width: 0;height: 0;line-height: 0;font-size: 0;border-left: 5px dashed transparent;border-right: 5px dashed transparent;border-top: 5px solid #000;position: absolute;top: 44%;right: 8%;transition:.3s ease-out;}[open] summary::after {transform:rotate(180deg)}ul {max-height: 0;padding:0;margin-top:0;transition: .3s ease-out;overflow: hidden;}[open] + ul {max-height: 60px;}</style>
</head>
<body><div><details open><summary>商品管理</summary></details><ul><li>商品列表</li><li>添加商品</li></ul></div><div><details open><summary>品牌管理</summary></details><ul><li>品牌列表</li><li>添加品牌</li></ul></div><div><details open><summary>分类管理</summary></details><ul><li>分类列表</li><li>添加分类</li></ul></div>
</body>
</html>
hgroup
1、定义和用法
hgroup元素是将标题和他的子标题进行分组的元素。hgroup元素一般会把h1-h6的元素进行分组,比如在一个内容区块的标题和他的子标题算是一组。通常情况下,文章只有一个主标题时,是不需要hgroup元素的。
2、实例
<article><header><hgroup><h1>文章主标题</h1><h2>文章子标题</h2></hgroup><p><time datetime=”2019-05-20”>2019年05月20日</time></p></header><p>文章正文</p>
</article>
figure & figcaption
1、定义和用法
<figure>
标签规定独立的流内容(图像、图表、照片、代码等等)。
figure 元素的内容应该与主内容相关,但如果被删除,则不应对文档流产生影响。
2、实例
hover 例子:
<div class="hover-area area-Julia"><img src="imgs/21.jpg" height="360" width="480"><h3>PASSIONATE<strong>JULIA</strong></h3><ul><li>Julia dances in the deep dark.</li><li>She loves the smell of the ocean</li><li>And dives into the morning light</li></ul>
</div>
VS
<figure class="effect-julia"><img src="img/21.jpg" alt="img21"/><figcaption><h2>Passionate <span>Julia</span></h2><div><p>Julia dances in the deep dark</p><p>She loves the smell of the ocean</p><p>And dives into the morning light</p></div><a href="#">View more</a></figcaption>
</figure>
mark
1、定义和用法
<mark>
标签定义带有记号的文本。请在需要突出显示文本时使用 <m>
标签。
2、实例
<p>Do not forget to buy <mark>milk</mark> today.</p>
time
1、定义和用法
<time>
标签定义公历的时间(24 小时制)或日期,时间和时区偏移是可选的。
该元素能够以机器可读的方式对日期和时间进行编码,这样,举例说,用户代理能够把生日提醒或排定的事件添加到用户日程表中,搜索引擎也能够生成更智能的搜索结果。
2、实例
<p>我们在每天早上 <time>9:00</time> 开始营业。</p>
<p>我在 <time datetime="2019-02-14">情人节</time> 有个约会。</p>
output
1、定义和用法
标签定义不同类型的输出,比如脚本的输出。
2、实例
<form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0<input type="range" id="a" value="50">100+<input type="number" id="b" value="50">=<output name="x" for="a b"></output>
</form>
progress
1、定义和用法
标签标示任务的进度(进程)。
2、实例
<progress value="22" max="100"></progress>//样式:
progress {color:orange; /*兼容IE10的已完成进度背景*/border:none;background: #d7d7d7;/*这个属性也可当作Chrome的已完成进度背景,只不过被下面的::progress-bar覆盖了*/
}progress::-webkit-progress-bar {background: #d7d7d7;
}progress::-webkit-progress-value,
progress::-moz-progress-bar
{background: orange;
}
meter
1、定义和用法
<meter>
标签定义已知范围或分数值内的标量测量。也被称为 gauge(尺度)。
例子:磁盘用量、查询结果的相关性,等等。
注释:<meter>
标签不应用于指示进度(在进度条中)。如果标记进度条,请使用 <progress>
标签。
2、实例
<meter value="3" min="0" max="10">十分之三</meter>
<meter value="0.6">60%</meter>
keygen
1、定义和用法
<keygen>
标签规定用于表单的密钥对生成器字段。
当提交表单时,私钥存储在本地,公钥发送到服务器。
2、实例
<form action="demo_keygen.do" method="get">Username: <input type="text" name="usr_name" />Encryption: <keygen name="security" /><input type="submit" />
</form>
embed
1、定义和用法
embed可以用来插入各种多媒体,格式可以是 Midi、Wav、AIFF、AU、MP3等等,Netscape及新版的IE都支持。url为音频或视频文件及其路径,可以是相对路径或绝对路径。
2、实例
<embed src="your.mid">
source
1、定义和用法
<source>
标签为媒介元素(比如 <video>
和 <audio>
)定义媒介资源。
<source>
标签允许您规定可替换的视频/音频文件供浏览器根据它对媒体类型或者编解码器的支持进行选择。
2、实例
<audio controls><source src="horse.ogg" type="audio/ogg"><source src="horse.mp3" type="audio/mpeg">Your browser does not support the audio element.</audio>
track
1、定义和用法
<track>
标签为诸如 video 元素之类的媒介规定外部文本轨道。
用于规定字幕文件或其他包含文本的文件,当媒介播放时,这些文件是可见的。
目前所有主流浏览器都不支持
<track>
标签。
2、实例
<video width="320" height="240" controls="controls"><source src="forrest_gump.mp4" type="video/mp4" /><source src="forrest_gump.ogg" type="video/ogg" /><track kind="subtitles" src="subs_chi.srt" srclang="zh" label="Chinese"><track kind="subtitles" src="subs_eng.srt" srclang="en" label="English">
</video>
bdi
1、定义和用法
bdi 指的是 bidi 隔离。
<bdi>
标签允许您设置一段文本,使其脱离其父元素的文本方向设置。
在发布用户评论或其他您无法完全控制的内容时,该标签很有用。
浏览器支持差。
2、实例
<ul><li>Username <bdi>Bill</bdi>:80 points</li><li>Username <bdi>Steve</bdi>: 78 points</li>
</ul>
ruby & rp & rb & rt
1、定义和用法
<ruby>
标签定义 ruby 注释(中文注音或字符)。
在东亚使用,显示的是东亚字符的发音。
与 <ruby>
以及 <rt>
标签一同使用:
ruby 元素由一个或多个字符(需要一个解释/发音)和一个提供该信息的 rt 元素组成,还包括可选的 rp 元素,定义当浏览器不支持 “ruby” 元素时显示的内容。
<rb>
要注音的对象。
2、实例
<ruby><rb>我爱我的祖国</rb><rp>(</rp><rt>I love my motherland</rt><rp>)</rp>
</ruby>
video
1、定义和用法
<video>
标签定义视频,比如电影片段或其他视频流。
2、实例
<video src="movie.ogg" controls="controls">
您的浏览器不支持 video 标签。
</video>
audio
1、定义和用法
<audio>
标签定义声音,比如音乐或其他音频流。
2、实例
<audio src="someaudio.wav">
您的浏览器不支持 audio 标签。
</audio>
canvas
1、定义和用法
<canvas>
标签定义图形,比如图表和其他图像。
<canvas>
标签只是图形容器,您必须使用脚本来绘制图形。
2、实例
<canvas id="myCanvas"></canvas><script type="text/javascript">var canvas=document.getElementById('myCanvas');
var ctx=canvas.getContext('2d');
ctx.fillStyle='#FF0000';
ctx.fillRect(0,0,80,100);</script>
HTML5移动开发的基础与技巧(一)HTML5新增标签及应用场景相关推荐
- html5游戏开发-零基础开发RPG游戏-开源讲座(四)
了解上三篇的内容请点击: html5[color=rgb(68, 68, 68) !important]游戏开发-零基础开发RPG游戏-开源讲座(一) http://www.html5cn.org/a ...
- html5游戏开发-零基础开发《圣诞老人送礼物》小游戏
开言: 以前lufy前辈写过叫"html5游戏开发-零基础开发RPG游戏"的系列文章,在那里面我学习了他的引擎以及了解了游戏脚本.自从看了那几篇文章,我便对游戏开发有了基本的认识. ...
- HTML5游戏开发技术基础整理
随着HTML5标准最终敲定,HTML5将有望成为游戏开发领域的的热门平台.HTML5游戏能够运行于包括iPhone系列和iPad系列在内的计算机.智能手机以及平板电脑上,是目前跨平台应用开发的最佳实施 ...
- html5游戏开发-零基础开发RPG游戏-开源讲座(三)-卷轴对话实现
前两篇,RPG的开发已经实现了添加地图和添加游戏人物,本篇来实现地图的卷轴滚动和人物对话的实现,效果如下 想要了解前两篇内容,请电击下面的链接 html5游戏开发-零基础开发RPG游戏-开源讲座(一) ...
- html5游戏开发-零基础开发RPG游戏-开源讲座(四)-游戏脚本化地图跳转
首先,本篇文章是零基础开发RPG游戏-开源讲座系列文章的第四篇,来实现游戏的脚本化,和利用游戏脚本实现地图场景的切换,离上次更新貌似很长时间了,你在看下面的文字之前,需要先了解前三篇在下啰嗦了些什么东 ...
- 小强的HTML5移动开发之路(18)——HTML5地理定位
来自:http://blog.csdn.net/dawanganban/article/details/18192091 在前面的<小强的HTML5移动开发之路(2)--HTML5的新特性> ...
- h5builder php,小强的HTML5移动开发之路(49)——HTML5开发神器HBuilder
今天给大家介绍一款开发HTML5的神器--HBuilder. 下载地址:http://www.php.cn/ 一.新建文件 可以看到支持web app开发和普通网站前端开发,我们首先建立一个移动App ...
- html5游戏开发-零基础开发RPG游戏-开源讲座(一)
因为上一篇雷电的开发中,有朋友反应不太理解,本篇将以零基础的视点,来讲解如何开发一款RPG游戏. 在游戏的世界里,我们可以看到各种地图,各种游戏人物,看到人物在地图上行走,对话等,无论是地图还是人物, ...
- web开发—— 前端基础(6) ——语义化标签
在网页中HTML专门用来负责网页的结构,在使用html标签时,应该关注标签的语法,而不是它的样式! 首先:标题标签有6级,h1~h6,h1时一级标题,h6是6级标题,h1最重要,h6最不重要. 一般情 ...
最新文章
- Docker Review - dockerfile 实战_使用dockerfile制作tomcat镜像
- 01两数之和(哈希表)
- 下行物理信道rs_基于大规模MIMO技术的中继协作物理层安全研究
- 【Linux】一步一步学Linux——command命令(226)
- java io 文件路径_【IO流】java中文件路径(相对路径、绝对路径)相关类及方法...
- .net面试题(会持续更新)
- SuperMap iClient3D for WebGL 示范案例(一)倾斜模型加载
- kubernetes视频教程笔记 (22)-存储-Secret
- python使用redis做缓存_Python的Flask框架使用Redis做数据缓存的配置方法
- 90后渐成互联网基金销售平台的购买主力
- 西门子STEP7-200PLC的顺序控制编程
- android 手机 打印 图片,Mopria打印PDF、TXT文档或图片(适用于Android安卓系统)
- 贝尔曼算法队列优化(SPFA)
- mysql 监控_【MySQL】MySQL监控工具 mysql-monitor
- linux中搜索文件内容关键字
- 微软 文档转换服务器,文档转换器
- 第一次参与国际空间站ISS 的SSTV活动
- GaussDB200 部署
- 全志XR806芯片 getsockopt、setsockopt失败如何解决?
- 分子偶极矩大小如何判断_怎么判断分子极性大小??
热门文章
- 人工智能 之 NLP的Precision(查准率,精确率),Recall(查全率,召回率),Accuracy(准确率)以及综合评价指标(F1-Measure)
- python求余_python如何实现取余操作
- 改变iOS 启动页面 lauchscreen
- vim安装-源码安装
- 苹果app商品定价_刚刚,苹果爆料“差异定价”猫腻,原来App商家也挖坑!
- base64加密原理解析
- Flask学习之旅——1.2项目配置
- Win7/10无法进系统提示bootsafe.sys出错,0xc0000359
- vue 操作数组的变异方法和非变异方法
- Webmin -- Disk Quotas