zoukankan      html  css  js  c++  java
  • html5

    什么是html5
    1.H5不是新语言,是第五次修改的版本
    
    2.支持所有主流浏览器(IE9以上支持H5,ie8一下不支持)
    
    3.改变了用户与文档交互方式:多媒体 video audio canvas 
    
    4.增加其它的新特性:语义特性,本地存储特性,网页多媒体,二维三维,特效(过度,动画)
    
    5.相对于h4:
        1:进步:抛弃了不常用的标记
        2.新增:新增标记和属性
        3.结构简洁
    
    html:xt +tab
    html5 是一套规范
    -------------------------------------------
    100% 流失布局 || 百分布局
    
    解决ie8兼容性问题:引进JS文件或者更改属性
    电话 tel 弹出数字键盘
    
    form:myForm 指定表单 
    
    -------------------------------
    码云上传
    git clone url地址
    git add * 将代码上传到本地仓库
    git commit -m '必须写的注释'
    git push
    
    1.在码云上创建项目
    2.复制项目地址
    3.四步走
    
    https://gitee.com/tuziling84/code.git
    -------------------------------------
       <!--autofocus:自动获取焦点-->
        <!--autocomplete:自动完成:on:打开  off:关闭
        1.必须成功提交过:提交过才会记录
        2.当前添加autocomplete的元素必须有name属性-->
        用户名:<input type="text" name="userName" placeholder="请输入用户名" autofocus autocomplete="on"> <br>
        <!--tel并不会实现验证,仅仅是在移动端能够弹出数字键盘-->
        <!--required:必须输入,如果没有输入则会阻止当前数据提交-->
        <!--pattern:正则表达式验证
        *:代表任意个
        ?:代表0个或1个
        +:代表1个或多个-->
        手机号:<input type="tel" name="userPhone" required pattern="^(+86)?1d{10}$"> <br>
        <!--multiple:可以选择多个文件-->
        文件:<input type="file" name="photo" multiple> <br>
        <!--email:有默认验证  在email中,multiple允许输入多个邮箱地址,以逗号分隔-->
        邮箱:<input type="email" name="email" multiple><br>
        
        <!--提交:-->
        <input type="submit"> <br>
    </form>
    <!--下面这个表单元素并没有包含在form中:默认情况下面表单元素的数据不会进行提交-->
    <!--form:指定表单id,那么在将来指定id号的表单进行数据提交的时候,也会将当前表单元素的数据一起提交-->
    地址:<input type="text" name="address" form="myForm">
    
    
     <!--建立输入框与datalist的关联  list="datalist的id号"-->
        专业:<input type="text" list="subjects"> <br>
        <!--通过datalist创建选择列表-->
        <datalist id="subjects">
            <!--创建选项值:value:具体的值 label:提示信息,辅助值-->
            <!--option可以是单标签也可以是双标签-->
            <option value="英语" label="不会"/>
            <option value="前端与移动开发" label="前景非常好"></option>
            <option value="java" label="使用人数多"></option>
            <option value="javascript" label="做特效"></option>
            <option value="c" label="不知道"></option>
        </datalist>
    
        网址:<input type="url" list="urls">
        <datalist id="urls">
            <!--如果input输入框的type类型是url,那么value值必须添加http://-->
            <option value="http://www.baidu.com" label="百度"></option>
            <option value="http://www.sohu.com"></option>
            <option value="http://www.163.com"></option>
        </datalist>
    
    -------------------------------
    fullscreen
        1、js的兼容性处理   加前缀
            google+apple+360+qq       内核:webkit
            火狐                      内核:moz
            欧朋                      内核:o
            ie                        内核:ms
        2、实现全屏和退出全屏对象不一样
            实现全屏:具体对象调用     RequestFullScreen()方法
            退出全屏:document对象调用 CancelFullScreen()方法
        3、火狐最标准的 
    
    
    -------------------------
    oninput :监听当前指定元素
    onkeypu : 键盘弹起时候触发
    oninvalid :当验证不通过时触发
    
    
    进度条
    progress :  max  value
    meter
    -----------------------
    音频
    embed 直接插件视频文件:他的本质是条用本机上已经安装的软件,有兼容性
    
    flash 插件  安装flash 苹果设备不支持  增加学习成本
    
    <!--embed:可以直接插入音频视频,本质是通过本机安装的音频视频播放软件来播放的。要求必须已经安装了这些软件  兼容性-->
    
    <!--flash:  1.先学习flash,增加使用成本  2.iphone,ipd,不支持flash-->
    
    <!--audio:音频-->
    
        <!-- <audio controls  autoplay>
            <source src="./mp3/aa.mp3" type="audio/ogg">
            <source src="./mp3/aa.mp3" type="audio/mpeg">
        </audio> -->
    
    <!--
    src:播放文件的路径
    controls:音频播放器的控制器面板
    autoplay:自动播放
    loop:循环播放-->
    <!--<audio src="../mp3/aa.mp3" controls></audio>-->
    
    <!--video:视频-->
    <!--
    pause 暂停
    src:播放文件的路径
    controls:音频播放器的控制器面板
    autoplay:自动播放
    loop:循环播放
    poster:指定视频还没有完全下载完毕,或者用户没有点击播放前显示的封面。 默认显示当前视频文件的第一副图像
    视频的宽度
    height:视频的高度
    -->
    <!--注意事项:视频始终会保持原始的宽高比。意味着如果你同时设置宽高,并不是真正的将视频的画面大小设置为指定的大小,而只是将视频的占据区域设置为指定大小,除非你设置的宽高刚好就是原始的宽高比例。所以建议:在设置视频宽高的时候,一般只会设置宽度或者高度,让视频文件自动缩放-->
    <!--<video src="../mp3/mp4.mp4" poster="../images/l1.jpg" controls  height="600"></video>-->
    
    <!--source:因为不同的浏览器所支持的视频格式不一样,为了保证用户能够看到视频,我们可以提供多个视频文件让浏览器自动选择-->
    <!--<video muted src="../mp3/flv.flv" controls></video>-->
    
    ------------------------------------
    
    1.ononline:网络连通的时候触发事件
    2.nooffline:网络断开触发
    
    全屏操作:
    required  必填
    
        3c3ff6933cb1c09c87d09de335612321
    
    --------------------
    拖拽:
    e.preventDefault();阻止默认事件
    draggable 改变鼠标样式  拖拽
    --------------------------------
    sessionStorage
    生命周期:
    存储大小:5M
    关闭浏览器 数据不存在
    存储在浏览器当前页面内存中
    数据只能在当前页面
    sessionStorage.getItem("key",value)
    setItem(key,value):存储数据,以键值对的方式存储
    getItem(key):获取数据,通过指定名称的key获取对应的value值
    removeItem(key):删除数据,通过指定名称key删除对应的值
    clear():清空所有存储的内容
    
    
    JSON.stringify(arr2)   =========将数组转换成字符串  原理就是在数组身上打上一个引号
    JSON.parse(arr3)  ==============将字符串转换成数组对象    原理是把引号去掉
    -------------------------
    localStorage 同一个浏览器可以共享数据
    数据只能手动删除
    存储大小 : 20M
    数据存储在硬盘上
    setItem(key,value):存储数据,以键值对的方式存储
    getItem(key):获取数据,通过指定名称的key获取对应的value值
    removeItem(key):删除数据,通过指定名称key删除对应的值
    clear():清空所有存储的内容
    
    
    例子:
    
    //定义一个字符串
    
    var data='{"name":"goatling"}'
    
    //解析对象?
    
    ?JSON.parse(data)
    
    结果是:
    
    ?name:"goatling"
    
    JSON.stringify()【从一个对象中解析出字符串】
    
    var data={name:'goatling'}
    
    JSON.stringify(data)
    
    结果是:
    
    '{"name":"goatling"}'
    
    --------------------------
    用于被拖拽元素的事件
     ondrag         应用于拖拽元素,整个拖拽过程都会调用--持续
     ondragstart    应用于拖拽元素,当拖拽开始时调用
     ondragleave    应用于拖拽元素,当鼠标离开拖拽元素时调用
     ondragend      应用于拖拽元素,当拖拽结束时调用
    应用于目标元素的事件 
     ondragenter    应用于目标元素,当拖拽元素进入时调用
     ondragover     应用于目标元素,当停留在目标元素上时调用--持续
     ondrop         应用于目标元素,当在目标元素上松开鼠标时调用
     ondragleave    应用于目标元素,当鼠标离开目标元素时调用
    e.preventDefault(); 清除默认行为
    
    列如:
    <script>
                 var div1 = document.querySelector("#div1");
                var div2 = document.querySelector("#div2");
                //开始拖拽
                document.ondragstart=function(e){
                    console.log(e);
                    e.dataTransfer.setData("text/html",e.target.id);
                }
                //持续拖拽
                document.ondragover=function(e){
                    e.preventDefault();
                }
                //结束拖拽
                document.ondrop=function(e){
                   var id=e.dataTransfer.getData("text/html");
                    e.target.appendChild(document.getElementById(id));
                }
            </script>
    
    
    ---------------上传-----------------------
    multiple 多个文件上传
     onabort:读取文件中断片时触发
     onerror:读取错误时触发
     onload:文件读取成功完成时触发
     onloadend:读取完成时触发,无论成功还是失败
     onloadstart:开始读取时触发
     onprogress:读取文件过程中持续触发
    reader.onload=function(){
     //console.log(reader.result); 读取的文件在读取对象的reader.result中
        document.querySelector("img").src=reader.result;
    }
    reader.onprogress=function(e){
        var percent= e.loaded/ e.total*100+"%";
        div.style.width=percent;
    }
    
    如:
     var myfile=document.querySelector("#myfile");
            var div =document.querySelector("div");
            myfile.onchange=function(){
                div.innerHTML="";
               var file=myfile.files;//获取个数
              // console.log(file); 
              for(var i = 0; i < file.length;i++){
                  var reader=new FileReader();
                //  console.log(reader.readAsDataURL)
                reader.readAsDataURL(file[i]);
                reader.onload=function(e){
                    var img=document.createElement("img");
                   // cosnole.log(img);
                   img.src=e.target.result;
                    div.appendChild(img);
                }
              }
            }
  • 相关阅读:
    JavaWeb工程中web.xml基本配置
    json
    理解文档对象模型(3)
    关于经验模态分解的混叠模态(mode mixing)问题
    android ListView SimpleAdapter 带图片
    JAVA的类和对象
    JAVA的循环结构进阶
    JAVA的数组
    JAVA的循环结构
    JAVA的选择结构(二)
  • 原文地址:https://www.cnblogs.com/tuziling/p/10074502.html
Copyright © 2011-2022 走看看