最近在复习前端的基础知识,在这里作一个总结,这是HTML5篇。
<font></font>
和<center></center>
...该标准并未能很好的被浏览器所支持。因新标签的引入,各浏览器之间将缺乏一种统一的数据描述格式,形成用户体验不佳。javascript
纯表现的元素css
besefont
、 big
、center
、 font
、s
、strike
、tt
、u
html
对可用性产生负面影响的元素前端
frame
、frameset
、noframes
html5
产生混肴的元素java
acronym
、 applet
、 isindex
、dir
git
显示不变,只是表达的含义进行了从新定义的标签github
标签 | 备注 |
---|---|
b | 表明内联文本,一般是粗体,没用传递表示重要的意思 |
i | 表明内联文本,一般是斜体,没有传递表达重要的意思 |
dd | 能够同detailsy 与figure 一同使用,定义包含文本,dialog 亦可以使用 |
dt | 能够同details 与figrue 一同使用,汇总细节,dialog 也可用 |
hr | 表示主题结束,而不是水平线,虽然显示相同 |
menu | 从新定义用户界面的菜单,配合commond 或者menuitem 使用 |
small | 表示小字体,例如打印注释或则法律条款 |
strong | 表示重要性而不是强调符号 |
标签 | 备注 |
---|---|
article | 标记定义一篇文章 |
header | 标记定义一个页面或一个区域的头部 |
nav | 标记定义导航连接 |
section | 标记定义一个区域 |
aisde | 标记定义页面内容的侧边栏 |
hgroup | 标记定义文件中一个区块的相关信息 |
figure | 标记定义一组媒体内容以及他们的标题 |
figcaption | 标记定义figure元素的标题 |
footer | 标记定义一个页面或一个区域的底部 |
dialog | 标记定义一个对话框(会话框)相似微信 |
标签 | 备注 |
---|---|
video | 标记定义一个视屏 |
audio | 标记定义音频内容 |
source | 标记定义媒体资源 |
canvas | 标记定义图片 |
embed | 标记定义外部的可交互的内容或插件,好比flash |
标签的意义:多媒体标签的出现意味着多媒体的发展以及支持不适用插件的状况下便可操做媒体文件,极大提高了用户体验。
状态标签web
标签 | 备注 |
---|---|
meter | 实时状态显示:气压、气温。 例:<meter value="0.3"></meter>30% |
progress | 任务过程:安装、 加载。 例:<progress></progress> |
列表标签canvas
标签 | 备注 |
---|---|
datalist | 为input标记定义一个下拉列表,配合option |
details | 标记定义一个元素的详细内容,配合summary |
summary | 标签为<details> 元素定义一个可见的标题。当用户点击标题时会显示出详细信息。 |
Menu
标签 | 备注 |
---|---|
menu | 命令列表(目前全部的主流浏览器都不支持) |
menuitem | menu命令列表的标签(只有FireFox9.0+支持) |
command | menu标记定义一个命令按钮(只有IE9支持) |
注释标签
标签 | 备注 |
---|---|
ruby | 标记定义注释或音标 |
rp | 告诉那些不支持ruby的元素的浏览器如何去显示 |
et | 标记定义对rubyd 注释内容文本 |
其余标签
标签 | 备注 |
---|---|
mark | 标记定义有标记的文本(黄色选中状态) |
output | 标记定义一些输出类型,计算表单结果配合oninput事件 |
keygen | 标记定义表单里生成的键值(加密信息传送) |
time | 标记定义一个日期/时间,目前全部主流的浏览器都不支持 |
对于不支持HTML5语法的浏览器(如:IE8及如下版本浏览器),要想使用这些新标签,须要那个经过JavaScript建立该标签。具体作法以下(以<header>
标签为例):
header { display: block; }
document.createElement('header');
因为HTML5新增的标签不少, 若是用上述方法建立标签也比较麻烦,因此咱们能够经过简单引用html5shiv.js文件解决这个问题。
<audio src="" controls autoplay="autoplay" loop></audio> <!-- controls: 在页面显示音频控件 autoplay="autoplay": 自动播放(谷歌浏览器不支持音频自动播放) loop: 循环播放 -->
<video src="" controls autoplay muted loop></video> <!-- controls: 在页面显示音频控件 autoplay='autoplay': 自动播放(谷歌浏览器与`muted`属性同用可自动播放) muted: 配合`autoplay`能够作到谷歌浏览器自动播放,可是,是静音状态 -->
不一样格式音视频的兼容性
<video controls autoplay loop> <source src="1.mp4"> <source src="1.ogg"> 对不起,您的浏览器不支持,请升级。 </video
从上至下播放浏览器第一个可支持的视频格式。
自带格式验证
类型 | 备注 |
---|---|
<input type="email"> |
邮箱 |
<input type="number"> |
数字 |
<input type="url"> |
地址 |
<input type="range"> |
滑块 |
<input type="color"> |
颜色 |
<input type="time"> |
时间 |
...... |
<form autocomplete="on" novalidate></form> <!-- autocomplete: on表示开启智能提示;off表示关闭智能提示 novalidate: 关闭智能验证 -->
<form action="" method="get" id="fm"> <input type="text" value="" autofocus placeholder="请输入名字" required> <input type="submit" value="提交"> </form> <input type="text" name="name" form="fm"> <!-- autofocus: 自动获取焦点 placeholder: 文本框提示信息 required: 该属性出现,当前的表单元素必须有验证 form: 该属性出如今表单标签中,值设置为form标签的ID值,该标签能够提交 -->
<input type="text" value="" list="url_list"> <datalist id="url_list"> <option value="https://www.baidu.com">百度</option> <option value="https://www.google.com">谷歌</option> <option value="https://www.youku.com">优酷</option> <option value="https://www.qq.com">腾讯</option> </datalist>
<div id="dv" data-name="名字" data-age="20" data-user-sex="男"></div>
HTML5经过 "data-属性名" 的方式建立自定义属性。
JavaScript 经过dataset
对象获取自定义属性。
注:获取dataset中的属性名须要改为驼峰式命名,如 user-sex 改成 userSex
var dv = document.getElementById('dv') var dt = dv.dataset; var str = '' str = dt.name + ',' + dt.age + ',' + dt.userSex; dv.innerText = str;
执行上方代码或 点击这里 查看打印结果
经过 FileReader
接口读取文件内容。
<input type="file" id="f1"> <input type="submit" id="btn1" value="上传">
var f1 = document.querySelector('#f1'); var btn1 = document.querySelector('#btn1'); btn1.onclick = function(){ // 获取上传文件 var fl1 = f1.files[0]; // 读取文件,建立读取文件的对象 var fReader = new FileReader(); // 读取文件 fReader.readAsText(fl1); // 开始读取文件的加载事件 fReader.onload = function() { var style= document.createElement('style'); var result = fReader.result; style.innerHTML = result; document.querySelector('head').appendChild(style) } }
新建 style.txt 文件,编辑内容:
#btn1{ width: 70px; height: 30px; border: none; background-color: green; font-size: 14px; color: #fff; }
运行程序,上传 style.txt 文件,查看样式变化。
点击此处 快速运行
var state = window.navigator.onLine; // 返回布尔值,网络联通为true,反之为false if(state){ alert('在线') }else{ alert('离线') }
主流浏览器都支持。
window.ononline=function(){ alert('链接上了') } window.onoffline=function(){ alert('断网了') }
浏览器支持状况:
事件 | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
ononline | 不支持 | IE8(IE11 已废弃) | 3.0 | 不支持 | 不支持 |