zoukankan      html  css  js  c++  java
  • 10分钟读懂html5 多了啥?

    标签

    更加语义化标签(开发者可以更加优雅,浏览器也可以更好的理解)

    搜索引擎检索,为什么会检索标题,不会检索“简介” ? 这是因为结构的不同。但是结构每个人的class命名习惯都会不一样,无法做到规范,于是不如出新的标签。
    在有一些低版本的浏览器中,h5标签不兼容,会被认为是div,并不会影响我们的功能。也可以在script中新加一行代码document.createElement("header"),但是用了多少标签,就要写多少行的document.createElement(""),于是有一个第三方的插件 html5shiv.js
    使用方法:

    <!--[if lt IE 9]>
    <script type="text/javascript"  src="http://www.ijquery.cn/js/html5shiv.js"></script>
    <![endif]-->
    

    注意:在页面中调用Html5.js文件必须添加在页面的head元素内,因为IE浏览器必须在元素解析前知道这个元素,所以这个js文件不能在页面底部调用。

    应用程序标签

    DataList
    progress

    属性
    链接关系描述

    链接到的地方和当前文档的关系是什么

    <a href="01-sementic-tags.html" rel="pre"></a>
    <a href="02-application-tags.html" rel="next"></a>
    

    rel还出现在其他地方,

    <link rel="stylesheet" href="css.css"> 
    

    link本身不会请求文件,而是rel="stylesheet"才会请求文件
    目前国内不流行
    结构数据标记

    <div itemscope itemtype="www.baidu.com">
    		<div itemprop="主人">主人</div>
    		<div itemprop="小狗">小狗一</div>
    		<div itemprop="小狗">小狗二</div>
    	</div>
    

    可以方便搜索引擎重点抓取
    很高级,但是只有google支持
    ARIA
    无障碍富互联网应用程序

    <label for="myinput">请输入您的名字</label>
    <input type="text" id="myinput">
    

    为什么上面一定要label for呢?
    是为了搜索引擎的理解
    自定义属性
    也就是data-*之类的属性,他们没有功能性,只是为了保存dom节点的强相关的数据。

    <ul id="list"></ul>
    	<div id="info"></div>
    	<script>
    		var data={
    			01:{
    				name:"张三",
    				age:18
    			},
    			02:{
    				name:"李四",
    				age:19
    			},
    			03:{
    				name:"王五",
    				age:20
    			}
    		};
    		for (var X in data) {
    			var item=data[X];
    			var oli=document.createElement("li");
    			var olist=document.getElementById("list");
    			oli.appendChild(document.createTextNode(item.name));
    			olist.appendChild(oli);
    			oli.setAttribute("data-name",item.name);
    			oli.setAttribute("data-age",item.age );
    			oli.addEventListener("click", function () {
    				var name=this.getAttribute("data-name");
    				var age=this.getAttribute("data-age");
    				alert(age+name)
    			})
    		}
    	</script>
    

    上面的代码用setattribue方法来定义了自定义属性,然后用getattribute又获取到了自定义属性。js也针对自定义属性出了新的api,也就是dataset['string'],使用这个api可以代替getAttribute的方法:

    oli.addEventListener("click",function(){
        console.log(this.dataset["name"]);
    })
    

    智能表单
    新的表单类型

    <input type="date">
    <input type="color">
    <input type="range">
    

    但是尽量不要在pc端使用,用户体验较差,不能自定义样式。主要适配在移动端。
    虚拟键盘适配

    <input type="text" name="txt_text" id="txt_text">
    <input type="number" name="txt_number" id="txt_number">
    <input type="email" name="txt_email" id="txt_email">
    <input type="tel" name="txt_tel" id="txt_tel">
    <input type="url" name="txt_url" id="txt_url">
    

    上面的代码在pc端上没有用处,主要是用在移动端可以根据不同的input的type来唤出不同的键盘。
    虽然input type="email"看似可以验证表单,但是真是太弱了,只是验证有没有@,真的要验证的话,还是要自己写正则表达式
    页面多媒体

    音频

    <audio src="A Moment of Reflection.mp3" controls="controls"></audio>
    

    但是默认的播放器太丑了,我们一般是自己写一个button,然后为这个button添加一个事件:

    <script>
    		var btn=document.getElementById("btn");
    		var btn1=document.getElementById("btn1");
    		var audio=document.getElementsByTagName("audio")[0];
    		btn.addEventListener("click", function () {
    			audio.play();
    		})
    		btn1.addEventListener("click",function (argument) {
    			audio.pause();
    		})
    </script>
    

    视频

    <video src="A Moment of Reflection.mp4" controls="controls"></video>
    

    但是我们一般不是这样用的,因为视频有版权,有些浏览器只能支持一两个,我们一般是source:

    <video controls="controls">
    <source src="下午03-网页多媒体.web.mp4">
    <source src="下午03-网页多媒体.web.ogg">
    <p>您的浏览器不支持</p>
    </video>
    

    还有一个插件,是可以帮我们做兼容的,是https://html5media.info/的组件,ie7以上都可以兼容。
    以下是多媒体的属性;
    ![image_1b2cut34s130mfufars1a6m6va9.png-66.1kB][1]
    字幕
    兼容性不是很好,现在还没有人用
    canvas

    1. 2d
    2. 3d

    svg
    优势:体积小,质量高,效果好,可控程度高。

  • 相关阅读:
    Jest | expect常用匹配方法
    typescript | typeScript 笔记
    好用的思维脑图
    VSCode launch.json 配置详解
    各种语法技术栈文档汇总|api文档集合
    浏览器的运行机制
    js字符串转数字长度限制|超过长度有误差
    css对话框| 气泡框| css箭头
    nginx和php-fpm的用户权限
    mac安装redis拓展
  • 原文地址:https://www.cnblogs.com/dujuncheng/p/6139580.html
Copyright © 2011-2022 走看看