学习HTML5

HTML5中的新特性:

  • 用于绘画的canvas元素
  • 用于媒介回放的video和audio元素
  • 对本地离线存储的更好的支持
  • 新的元素:article、footer、hearder、nav、section、aside、figure、mark、progress、menu、command、source
  • 新的表单控件:calender、date、time、email、url、search

1.HTML5 canvas 

<canvas id="my_canvas" width="200" height="200"></canvas>

<canvas>元素用于图形的绘制,默认情况下<canvas>是没有边框和内容的,它本省是没有绘图能力的,所有绘制工作必须在Javascript内部完成

2.HTML5 SVG

SVG定义为可缩放矢量图形,用于定义用于网格的基本矢量图形,使用XML格式定义图形

SVG图像在放大或改变尺寸的情况下其图形质量不会有损坏

SVG优势:

  • SVG图像可通过文本编辑器来创建和修改
  • SVG图像可被搜索、索引、脚本化或压缩
  • SVG是可伸缩的
  • SVG图像可在任何的分辨率下被高质量地打印
  • SVG可在图像质量不下降的情况下被放大
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
    <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
<svg>

 SVG与Canvase两者间的区别

svg是一种使用XML描绘2D图形的语言

canvas通过Javascript来绘制2D图形

svg基于XML,这意味着svg dom中的每个元素都是可用的,你可以为某个元素附加Javascript事件处理器

在svg中,每个被绘制的图形均被视为对象。如果svg对象的属性发生变化,那么浏览器能够自动重现图形

canvas是逐像素进行渲染的。在canvas中,一旦图形被绘制完成,它就不会继续得到浏览器的关注,如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象

3.HTML5 拖放

    <script>
        function drag(ev) { //被拖动的数据,设置被拖数据的数据类型和值
            // 第一个参数为携带数据的数据种类的字符串,只能填入类 似“text/plain”或“textml”的表示 MIME类型的文字
            ev.dataTransfer.setData("Text", ev.target.id);
        }

        function allowDrop(ev) {
            // 调动preventDefault()来避免浏览器对数据的默认处理(drop事件的默认行为是以链接形式打开)
            ev.preventDefault();
        }

        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)">
        <img src="/images/01.png" draggable="true" ondragstart="drag(event)" id="drag1" width="88" height="31"></div>
    <div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>

 设置元素可拖动:draggable="ture"

4. HTML5 地理定位 Geolocation

Geolocation:用于获取用户的地理位置

获取用户位置:getCurrentPosition():第一个参数获取经纬度;第二个参数用于处理错误

    <p id="demo">点击按钮获取您当前坐标(可能需要比较长的时间获取):</p>
    <button onclick="getLocation()">点我</button>
    <script>
        var x = document.getElementById("demo");
        function getLocation() {
            if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(showPosition, showError);
            } else {
                x.innerHTML = "该浏览器不支持定位。";
            }
        }

        function showPosition(position) {
            x.innerHTML = "纬度: " + position.coords.latitude +
                "<br>经度: " + position.coords.longitude;
        }
        function showError(error) {
            switch (error.code) {
                case error.PERMISSION_DENIED:
                    x.innerHTML = "用户拒绝对获取地理位置的请求。"
                    break;
                case error.POSITION_UNAVAILABLE:
                    x.innerHTML = "位置信息是不可用的。"
                    break;
                case error.TIMEOUT:
                    x.innerHTML = "请求用户地理位置超时。"
                    break;
                case error.UNKNOWN_ERROR:
                    x.innerHTML = "未知错误。"
                    break;
            }
        }
    </script>

5.HTML5 video(视频)和 audio(音频)

<video width="320" height="240" controls autoplay >
    <source src="movie.mp4"></source>
    <source src="movie.ogg"></source>
</vodeo>
<audio controls>
    <source src="horse.ogg" type="audio/ogg"></source>
    <source src="horse.mp3" type="audio/mpeg"></source>
</audio>

 <source></source>标签为媒体元素定义媒体资源,允许规定两个视频/音频文件供浏览器格局它对媒体类型或者编码器的支持进行选择

video元素支持三种视频格式:

  • MP4:带有H.264视频编码和AAC音频编码的MPEG4文件
  • webM:带有VP8视频编码和Vorbis音频编码的WebM文件
  • Ogg:带有Theora视频编码和Vorbis音频编码的Ogg文件

 video和audio的属性和属性值:

属性/值描述
autoplay自动播放
controls向用户显示控件,比如播放按钮
loop循环播放
muted静音播放
poster=“url”规定视频正在下载时显示的图像
preload=“auto/metadata/none”页面加载时进行加载,并预备播放,如果使用autoplay,则忽略该属性
src=“url”视频或音频的地址

6.HTML5新增input元素的类型和表单元素

html表单:HTML表单_weixin_47940048的博客-CSDN博客

 HTML5新增input元素的类型:

type="color":用于选取颜色

type=“date”:从日期选择器中选择一个日期

type=“datetime”:选择一个日期和时间(本地时间)

type="datetime-local":选择一个无时区的日期和时间

type=“email”:输入email,会判断是否合法有效

type="month":选择月份

type="number":输入数字 

        min:规定允许的最小值        max:规定允许的最大值

        maxlength:规定输入字段的最大字符长度

<input type="number" name="num" min="1" max="9" maxlength="11" />

type="range":用于应该包含一定范围内数字值得输入域,显示为滑动条,类似于滑块控制

        min:规定允许得最小值        max:规定允许得最大值

        step:规定合法得数字间隔        value:规定默认值

<input type="range" name="points" min="1" max="100" value="60" />

type=“search”:搜索域

type="tel":输入电话号码字段

type="time":选择时间

type="url":输入url地址

type="week":选择周和年

autofocus:域自动获取焦点

multiple:可选择多个值

placeholder=“”:描述输入域的值,跟value的区别在于字体颜色比较浅

<input type="search" name="sech" placeholder="电脑">

required:规定在提交之前输入域不能为空 

step="":输入域规定合法的数字间隔,如果step="3",则合法数是 -3、0、3、6等

HTML5新增的表单元素

1.规定输入域的选项列表:<datalist></datalist>

<input list="browser" />
<datalist id="browser">
    <option value="芒果"></option>
    <option value="西瓜"></option>
    <option value="荔枝"></option>
</datalist>

2.提供一种验证用户的可靠方法:<keygen>

 keygen标签规定用于表单的密钥对生成器字段,当提交表单时,会生成两个健,一个是私钥,一个是公钥。私钥存储于客户端,公钥则被发送到服务器。公钥可用于之后验证用户的客户端证书

3.不同类型的输出:<output></output>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值