H5 之 新增标签

# 前言

 H5的雏形形成于2004年,在2008年发布正式版,并于2014年定稿。目前支持IE9+及绝大多数市场浏览器。同时,它是唯一一个支持PC、Mac、iPhone、Android等主流平台的 跨平台语言。用H5开发的移动软件对比于原生APP应用得名“WebAPP”。各自优缺参半。对比一下

# <!DOCTYPE>改变

 <!DOCTYPE>必须是在HTML文档的第一行,它不是html标签,而是指示web浏览器对页面使用哪个HTML版本进行指令的编写

// html4.01框架版doctype
<!DOCTYPE HTML  PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
// html4.01 严格版doctype
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//en" "http://www.w3.org/TR/html4/strict.dtd">
// HTML 5 版本不需要DTD
<!DOCTYPE html>

# 新增功能

  新增离线存储,更丰富的表单,Js线程,socket, 标准扩展embed,CSS3,流媒体多媒体引擎(Audio、Video、Canvas、webgl等)


# 新增标签

一. 结构标签

  H5之前,有意义的结构标签就是div,H5扩展了以下标签。

标签 说明
<article> 标记一篇文章
<header> 一个区域的头部
<nav> 一个导航链接
<section> 一块区域
<aside> 页面的内容部分的侧边栏,如菜单栏
<hgroup> 定义section中的相关信息
<figure> 定义一组包裹多媒体内容以及他们的标题
<figcaption> figure元素的标题
<footer> 标记一个区域的底部
<dialog> 定义一个对话框(会话框)类似微信

注意事项

  • 不要滥用结构标签
  • <header> <section> <aside> <article> <footer>这些标签不要嵌套自身
  • 标签使用级别:<header> <section> <footer> 优于 <aside> <article> <figure> <hgroup> <anv> 优于 <div> <figcaption>

二. 多媒体标签

标签 说明
<video> 定义一个视频
<audio> 定义音频内容
<source> 替代audio中src属性定义媒体资源
<canvas> 一个画布API,绘制酷炫的效果
embed 定义外部的可交互的内容或插件如flash
(1) 音频<audio>标签
<audio src="./audio/demo.mp3" autoplay="autoplay" loop="-1" contrils="controls="controls">
  当前浏览器暂不支持,建议您更换浏览器
</audio>
属性 说明
autoplay autoplay 出现即生效,打开自动播放
controls controls 出现即生效,显示控制控件,如播放暂停
loop loop/-1 是否循环播放
muted muted 是否静音播放
preload preload 页面载入时执行预加载。优先级低于autoplay
src url 资源位置

说明

  • 支持3中音频格式: ogg、MP3、WAV
  • 浏览器不支持audio时显示标签内部文字
  • 可以使用<source>标签解决浏览器格式兼容问题
<audio autoplay="autoplay" loop="loop" controls="controls">
  <source src="./audio/demo.mp3" type="audio/mpeg">
  <source src="./audio/demo.ogg" type="audio/ogg">
  <source src="./audio/demo.wav" type="audio/wav">
  建议您更换浏览器
</audio>
(2)视频<video>标签
<video src="./video/demo1.mp4" autoplay="autoplay" controls="control">
  当前浏览器不支持HTML5标签
</video>
标签 说明
autoplay 自动播放
controls 控制台,资源使用<source>标签引入则控制台在视频口外
loop 播放次数。loop或-1表示无限循环
src 资源路径,若使用了<source>,则该属性失效
width 视频播放器宽度
height 视频播放器高度

说明

  • 支持格式 MP4,WebM,Ogg
  • 可以使用<sourc>标签解决浏览器格式兼容问题,用法同<audio>
3. <embed>标签

  用于在网页上插入flash

<embed src="./falsh/demo1/swf" width="400" height="300"></embed>

三. web应用标签

1. 状态标签
标签 说明
<meter> 显示状态:气压,气温
<progress> 显示任务过程:安装,加载
(1)<meter>标签
<meter value="70" min="0" max="100" low="60" high="80" optimum="75">

  meter标签的max、min属性定义在最两边,low和high定义在中间。隔开三个区域。最终表现为三种色彩。optimum所在的区域显示绿色,相邻区域显示换色,相隔区域显示红色。

(2)<progress>标签

  可以使用在图片文件上传下载时,表现出一种loading的状态效果

  如果没有设置max,则value值应该在0-1之间。如果没有value值,进度是不确定的,表示任务正在进行中,滚动条会来回滑动(chrome),可以用作loading效果

// 只写max属性,会有加载的效果
<progress value="0"  max="100">您的浏览器不支持progress元素</progress>
<input type="button" value="开始" onclick="goprogress()"/>

<script>
    function goprogress(){
        var pro=document.getElementsByTagName("progress")[0];
        gotoend(pro,0);
    }
    function gotoend(pro,value){
        var value=value+1;
        pro.value=value;
        if(value<100) {
            setTimeout(function(){gotoend(pro, value);},20)
        }else{
            setTimeout(function(){alert("任务完成")},20);
        }
    }
</script>
// 修改默认样式
<style>
progress {
  background:orange;
  border:1px solid red;
  border:2px solid #000;
  width:300px;
  height:50px;
  -webkit-appearance: none;
}
::-webkit-progress-bar{
    background:orange;
 }
</style>

2.列表标签

标签 说明
<datalist> 为input标定义一个下拉列表,配合option使用
<details> 定义一个元素的详细信息,配合summary使用
(1) <datalist>标签

  <datalist>原生的样式已经比较好看,可以替代select使用,且拥有select没有的效果

<input placeholder="请选择学习的语言" list="langage"/>
<datalist id="langage">
    <option value="c++">c++</option>
    <option value="c#">c#</option>
    <option value="java">java</option>
    <option value="javascript">javascript</option>
</datalist>
(2)<detail>标签
<details open="open">
    <summary>标题描述区域</summary>
    <p>细节描述区域,可以对内容进行介绍。作为标题的一个可开关内容</p>
</details>

四. 其他标签

1. 注释标签

| 标签 | 说明 |
| :---:|:---: |
| <ruby> | 定义注释或音标 |
| <rt> | 定义对ruby的注释内容文本 |
| <rp> | 不支持ruby元素的浏览器替换策略 |

<p>
    <ruby>魑<rt>chi</rt></ruby>
    <ruby>魅<rt>mei</rt></ruby>
    <ruby>魍<rt>wang</rt></ruby>
    <ruby>魉<rt>liang</rt></ruby>
</p>

2. 文本标记标签

标签 说明
mark 标记部分内容,显示黄色背景
<p>你是猴子派来的<mark>救兵</mark>吗?</p>

3. 输出标签

标签 说明
output 定义一类输出类型,计算表单结果,配合oninput使用
<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> 

<form oninput="totalPrice.value = parseInt(price.value) * parseInt(number.value)">
    <input type="text" id="price" value="5000">*
    <input type="text" id="number" value="1"> = 
    <output name="totalPrice" for="price number"></output>
</form>
output输出结果

# 删除的标签

  • 纯表现的元素:Basefont、big、center、font、s、strike、tt、u
  • 对可用性产生负面影响的元素:frame、frameset、noframes(真要使用框架的话,请使用iframe)
  • 产生混淆的元素:acronym、applet、isindex、dir

# 重新定义的标签

标签 说明
<b> 内联文本,粗体
<i> 内联文本,斜体
<hr> 表示主题结束,显示一条水平线
<menu> 表示用户界面菜单
<small> 小字体,例如打印注释或者法律条款
<strong> 强调重要性
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,050评论 4 370
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,538评论 1 306
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 111,673评论 0 254
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,622评论 0 218
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,047评论 3 295
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,974评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,129评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,893评论 0 209
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,654评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,828评论 2 254
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,297评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,619评论 3 262
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,326评论 3 243
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,176评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,975评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,118评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,909评论 2 278

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,117评论 1 45
  • 第一章 HTML5 (2014年10月29日发布)新特性: 10个 (1)新的语义标签 (2)增强型表单 (3)视...
    fastwe阅读 912评论 0 1
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,635评论 1 92
  • HTML5< !--...--> 标签 comment 注释标签用于在源文档中插入注释。注释内容不会被浏览器显示。...
    野小宝阅读 1,282评论 0 10
  • HTML5 标签comment 注释标签用于在源文档中插入注释。注释内容不会被浏览器显示。为代码编写注释的好处是...
    才気莮孒阅读 3,933评论 1 25