03HTML5

03 HTML5

1 HTML5 概述

之前的版本:
	HTML4 或者叫做 XHTML1.0(对语法要求比较严格)

2 HTML 5 新增标签

2.1新增语义化结构标签

就是具有语义的div,和div用法相同

<header></header>        定义页面或 section 的页眉
<footer></footer>        定义页面或 section 的页脚
<nav></nav>                定义页面的主要导航
<main></main>            定义文档的主要内容 (whatwg 没有语义, IE不支持)
<section></section>     定义页面中的一节或文章中的一段,里面通常带有标题
<article></article>        定义文章、博客、论坛帖子、用户评论等
<aside></aside>            定义侧边栏
<hgroup></hgroup>        包裹连续的标题,如文章主标题和副标题的组合 (w3c将其删除)

以上,出现某某某浏览器不支持和某某某将其删除的情况,那么就不要使用…

2.2 新增的状态标签

<meter></meter>   表示某种静止的状态,比如磁盘用量、电池电量、当前温度
<progress></progress>  表示进度完成了多少,比如进度条

2.3 新增列表标签

第一个:datalist

和input结合使用,在搜索框输入数据的时候会在下面显示可以选择的数据

<datalist></datalist>  里面需要嵌套 option 标签
与 input 配合,input 的 list 属性的值要与 datalist id 属性值一致

<input type="text" list="searchData">
<datalist id="searchData">
    <option value="安妮"></option>
    <option value="安妮呢"></option>
    <option value="abc"></option>
    <option value="ab"></option>
    <option value="abd"></option>
    <option value="b"></option>
    <option value="ddd"></option>
</datalist>

第二个:details

标签用于描述文档或文档某个部分的细节。

summary 标签 配合使用可以为 details 定义标题。标题是可见的,用户点击标题时,会显示出 details。

属性 open 定义 details 是否可见。

<details>属性 open(添加open显示数据,没有添加需要点击才可以显示数据)
	<summary> 标题 嵌套在 details 的里面(为可见部分)
		
	</summary> 
</details> 

2.4 新增注释标签

<ruby></ruby>
<rt></rt>  里面写注音,嵌套在 ruby 的里面

显示效果:

<ruby>
    饕餮
    <rt>taotie</rt>
</ruby>

<p>
	<ruby>饕<rt>tao</rt></ruby>
	<ruby>餮<rt>tie</rt></ruby>
	的意思是怪兽
</p>

2.5 新增标记标签

<mark></mark>  语义是标记的意思,用于搜索引擎搜索结果里标记关键字

2.6 新增图像标签(了解)

<figure> 用于文章的插图,包裹图片元素
	<figcaption></figcaption>  标题或图片的说明
</figure>   

3 HTML5表单新增功能

1. 表单控件新增属性

  • placeholder 提示文字,有别于 value 值
  • required 表示该字段必填(可以不给值)
  • autofocus 自动获取焦点(可以不给值,打开页面的时候自动获取焦点)
  • autocomplete 设置浏览器自动补全(浏览器记忆曾经在该表单填写的内容) on/off(搜索框输入数据的时候会从来之前输入过的内容,添加属性可以将其取消off, 具体记忆是工具input标签的name属性,如果name属性发生修改,那么记忆的数据就不会显示)
  • pattern 正则填写验证规则

2 input type 属性新增值

2.1 规定类型的文本输入框
<!--邮箱-->
<input type="email" name="email" placeholder="请输入邮箱">

<!--url-->
<input type="url" name="url" placeholder="请输入网址">

<!--数字-->
<input type="number" name="num">
<input type="number" name="num" min='10' max='100' step='10'> 
	<!--step为设置的步长,每次添加10-->

<!--搜索框,表现形式与text相同, 无验证效果-->
<input type="search" name="kw" placeholder="搜索">

<!--电话号码 同于text  但是用移动设备,会直接弹出数字键盘, 无验证效果-->
<input type="tel" name="tel_num" placeholder="请输入电话号码">
2.2 范围选择框
<input type="range" name="range">
<input type="range" name="range" value="80">
<input type="range" name="range" value="80" max="100" min="0">
2.3 颜色选择框
<input type="color" name="color">
2.4 时间日期选择框
<input type="date" name="date">  选择日期 年月日
<input type="month" name="month"> 选择月份 年月
<input type="week" name="week"> 选择第几周 年周
<input type="time" name="time"> 选择时间 时分
<input type="datetime" name="datetime">  特别不好使,请直接使用下面的标签---
<input type="datetime-local" name="datetime"> 日期+时间

3 form 元素新增属性

novalidate  设置了该属性,表单提交的时候就不进行验证了; 不用给值

4 音视频

4.1 音视频的格式

视频: mp4(推荐,全兼容)、ogg、webm
音频: mp3(推荐,全兼容)、ogg、wav

4.2 视频标签 video

<video></video>
	src 视频地址
	controls  控制条;不用给值
	muted  静音;不用给值
	autoplay  自动播放;不用给值; chrome只有视频静音之后才允许自动播放
	loop  循环播放;不用给值
	preload 预先加载;不用给值,在视频未播放就继续缓存
	poster  封面图片,指定地址
	width  指定宽
	height 指定高

4.3 音频标签 audio

<audio></audio>
	src  音频地址
	controls  控制条;不用给值
	muted  静音;不用给值
	autoplay  自动播放;不用给值; chrome只有音频静音之后才允许自动播放
	loop  循环播放;不用给值
	preload 预先加载;不用给值

4.4 source 标签

标签允许您规定两个视频/音频文件共浏览器根据它对媒体类型或者编解码器的支持进行选择

属性描述
srcURL规定媒体文件的 URL。
typeMIME_type规定媒体资源的 MIME 类型。
mediamedia_query规定媒体资源的类型,供浏览器决定是否下载。
根据浏览器支持的视频格式,加载不用的视频
<video>
    <source src="../../sources/video/movie.mp4" type="video/mp4">
    <source src="../../sources/video/movie.ogg" type="video/ogg">
    <source src="../../sources/video/movie.webm" type="video/webm">
</video>

音频可以用
<audio>
	<source src="../../sources/video/movie.mp3" type="audio/mp3">
    <source src="../../sources/video/movie.ogg" type="audio/ogg">
    <source src="../../sources/video/movie.wav" type="audio/wav">
</audio>

5 HTML5 新增全局属性

hidden  隐藏元素(不占位置),不用给值
contenteditable 规定元素内容是否可编辑。 <element contenteditable="true|false">

contextmenu 规定元素的上下文菜单。上下文菜单在用户点击元素时显示。 仅有Firefox可用

data-* 用于存储页面或应用程序的私有定制数据。

draggable 规定元素是否可拖动。 <element draggable="true|false|auto">

dropzone 规定在拖动被拖动数据时是否进行复制、移动或链接。 
<element dropzone="copy|move|link">

hidden 规定元素隐藏或不再相关。

spellcheck 规定是否对元素进行拼写和语法检查。 
<element spellcheck="true|false">

可以对以下内容进行拼写检查:
        <textarea> 元素中的文本
        可编辑元素中的文本
        input 元素中的文本值(非密码)
translate 规定是否应该翻译元素内容。 <element translate="yes|no">

兼容性处理

1 设置 meta

<!--设置IE总是使用最新的文档模式进行渲染-->
<meta http-equiv="X-UA-Compatible" content="IE=Edge">

<!--优先使用 webkit ( Chromium ) 内核进行渲染, 针对360等壳浏览器-->
<meta name="renderer" content="webkit">

2 IE8 及以下浏览器识别H5新增标签

2.1 实现原理
  1. JavaScript,document.create() 创建每一个H5新增的标签
  2. 在CSS中为刚创建的新标签设置CSS,display属性
<style>
    header,footer,nav,article,aside,section,main {
        display: block;
    }
</style>
<script>
    (function () {
        document.createElement('header');
        document.createElement('footer');
        document.createElement('nav');
        document.createElement('main');
        document.createElement('aside');
        document.createElement('article');
        document.createElement('section');
    })();
</script>
2.2 使用第三方库

使用html5shiv.min.js 来兼容ie浏览器

<!--[if lt ie 9]>
    <script src="/dist/js/html5shiv.min.js"></script>
<![endif]-->

3 IE 条件注释(了解)

3.1 关于条件注释
  • IE 中的条件注释对 IE 的版本和非 IE 版本有优秀的区分能力。
  • 条件注释的基本结构和HTML的注释 `` 是一样的。因此IE以外的浏览器将会把它们看作是普通的注释而完全忽略它们。
  • IE 将会根据 if 条件来判断是否如解析普通的页面内容一样解析条件注释里的内容。
  • 只有IE9 以及 IE9 以下浏览器可以识别
3.2 基本运算符

lt 小于

lte 小于等于

gt 大于

gte 大于等于

! 逻辑非

3.3 示例
<!--[if IE 8]> 仅IE8可见 <![endif]--> 
<!--[if gt IE 8]>仅IE 8以上可见<![endif]—>
<!--[if lt IE 8]>仅IE 8以下可见<![endif]—>
<!--[if gte IE 8]>IE 8及以上可见<![endif]—>
<!--[if lte IE 8]>IE 8及以下可见<![endif]—>
<!--[if !IE 8]>非IE 8的IE可见<![endif]-->
<!--[if !IE]><!--> 您使用不是 Internet Explorer <!--<![endif]-->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值