小白该知道的HTML5基础知识
Posted web前端网页设计
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小白该知道的HTML5基础知识相关的知识,希望对你有一定的参考价值。
现在做前端,如果说自己不会h5,你很有可能被你的客户嘲笑,说什么最新技术都不会!h5其实没什么,只不过是html技术的进一步发展,主要是增加了一些新的元素而已。
HTML5 <!DOCTYPE>
<!doctype> 声明必须位于 HTML5 文档中的第一行,使用非常简单,写法:<!DOCTYPE html>
新特性
HTML5 中的一些有趣的新特性:
用于绘画的 canvas 元素
用于媒介回放的 video 和 audio 元素
对本地离线存储的更好的支持
新的特殊内容元素,比如 article、footer、header、nav、section
新的表单控件,比如 calendar、date、time、email、url、search
HTML5 添加了很多语义元素如下所示:
标签 | 描述 |
<article> | 定义页面独立的内容区域。 |
<aside> | 定义页面的侧边栏内容。 |
<bdi> | 允许您设置一段文本,使其脱离其父元素的文本方向设置。 |
<command> | 定义命令按钮,比如单选按钮、复选框或按钮 |
<details> | 用于描述文档或文档某个部分的细节 |
<dialog> | 定义对话框,比如提示框 |
<summary> | 标签包含 details 元素的标题 |
<figure> | 规定独立的流内容(图像、图表、照片、代码等等)。 |
<figcaption> | 定义 <figure> 元素的标题 |
<footer> | 定义 section 或 document 的页脚。 |
<header> | 定义了文档的头部区域 |
<mark> | 定义带有记号的文本。 |
<meter> | 定义度量衡。仅用于已知最大和最小值的度量。 |
<nav> | 定义导航链接的部分。 |
<progress> | 定义任何类型的任务的进度。 |
<ruby> | 定义 ruby 注释(中文注音或字符)。 |
<rt> | 定义字符(中文注音或字符)的解释或发音。 |
<rp> | 在 ruby 注释中使用,定义不支持 ruby 元素的浏览器所显示的内容。 |
<section> | 定义文档中的节(section、区段)。 |
<time> | 定义日期或时间。 |
<wbr> | 规定在文本中的何处适合添加换行符。 |
HTML5 表单
新表单元素, 新属性,新输入类型,自动验证。
已移除元素
以下的 HTML 4.01 元素在HTML5中已经被删除:
<acronym> 标记一个首字母缩写,h5用abbr代替
<applet> 用object代替
<basefont>规定页面上的默认字体颜色和字号:
<big>呈现大号字体效果。
<center> 这个...这么常用为什么去掉??
<dir> 签定义目录列表。类似于ul
<font> //这个也是比较常用的,但是取消了
<frame> 标签定义 frameset 中的一个特定的窗口(框架)
<frameset>定义一个框架集
<noframes> 元素可为那些不支持框架的浏览器显示文本。noframes 元素位于 frameset 元素内部。
<strike>标签可定义加删除线文本定义。
HTML5 浏览器支持
最新版本的 Safari、Chrome、Firefox 以及 Opera 支持某些 HTML5 特性。Internet Explorer 9 将支持某些 HTML5 特性。
IE9 以下版本浏览器兼容HTML5的方法,使用的静态资源的html5shiv包:(菜鸟教程)
<!--[if lt IE9]> <script ></script> <![endif]-->
载入后,初始化新标签的CSS:
/*html5*/article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}
HTML 5 视频
写法:<video controls="controls" width="320" height="240">文字</video>
control 属性供添加播放、暂停和音量控件。
<video> 与 </video> 之间插入的内容是供不支持 video 元素的浏览器显示的:
注意:要确保适用于 Safari 浏览器,视频文件必须是 MPEG4 类型。所以video 元素允许多个 source 元素
所以写成:
<video width="320" height="240" controls="controls">
<source type="video/ogg">
<source type="video/mp4">
Your browser does not support the video tag.
</video>
<video> 标签的属性
autoplay:值为:autoplay,如果出现该属性,则视频在就绪后马上播放。
controls:值为:controls如果出现该属性,则向用户显示控件,比如播放按钮。height:pixels设置视频播放器的高度。
loop:值为:loop,如果出现该属性,则当媒介文件完成播放后再次开始播放。
preload:值为:preload,如果出现该属性,则视频在页面加载时进行加载,并预备播放。如果使用 "autoplay",则忽略该属性。
src:值为:url,要播放的视频的 URL。
width:值为:pixels,设置视频播放器的宽度。
同时还可以支持dom事件支持:play(),pause(),load(),canPlayType();
HTML 5 音频
写法:<audio controls="controls">Your browser does not support the audio tag.</audio>
control 属性供添加播放、暂停和音量控件。
<audio> 与 </audio> 之间插入的内容是供不支持 audio 元素的浏览器显示
当前,audio 元素支持三种音频格式:mp3,mav和ogg,Safari 浏览器,音频文件必须是 MP3 或 Wav 类型。多个 source 元素支持。
<audio> 标签的属性
属性 | 值 | 描述 |
autoplay | autoplay | 如果出现该属性,则音频在就绪后马上播放。 |
controls | controls | 如果出现该属性,则向用户显示控件,比如播放按钮。 |
loop | loop | 如果出现该属性,则每当音频结束时重新开始播放。 |
preload | preload | 如果出现该属性,则音频在页面加载时进行加载,并预备播放。如果使用 "autoplay",则忽略该属性。 |
src | url | 要播放的音频的 URL。 |
HTML 5 拖放
拖放(Drag 和 drop)是 HTML5 标准的组成部分。
draggable="true" 设置元素为可拖放 <img draggable="true" />
ondragstart 和 setData()规定当元素被拖动时,会发生什么
ondragoverondragover 事件规定在何处放置被拖动的数据。
Ondrop:当放置被拖数据时,会发生 drop 事件。
(说实话真心不好理解,看一下w3c给的案例吧:)
<script type="text/javascript">
function allowDrop(ev)
{ev.preventDefault();}
function drag(ev)
{ev.dataTransfer.setData("Text",ev.target.id);//方法设置被拖数据的数据类型和值:
}
function drop(ev)
{
ev.preventDefault();//阻止对元素的默认处理方式,默认不接受拖拽元素的
var data=ev.dataTransfer.getData("Text");//获得被拖的数据
ev.target.appendChild(document.getElementById(data));//放置进去
}
</script>
<div id="div1" ondrop="drop(event)"ondragover="allowDrop(event)"></div>
<img id="drag1" draggable="true"ondragstart="drag(event)" width="336" height="69" />
这个拖拽看起来比较费劲,一般我们也用不到,大家可以先收藏起来,如果需要用到的时候,再返回来直接套用案例!
以上是关于小白该知道的HTML5基础知识的主要内容,如果未能解决你的问题,请参考以下文章