1. 不管是招聘还是聊天经常能听到 h5开发,它指的是什么?和 HTML5有什么关系?
h5指的是一系列技术做的移动端ppt,它的页面很酷炫,可以提高公司的逼格,亮瞎访问者的双眼,让小白顿生膜拜之感,即使ppt毫无实质,使用大量的插件或库,主要技术有:
- 页面素材加载技术,使用使用createJS之中的preloadJS(现成的库)
- 音乐加载播放技术,createJS中同样有soundJS可以实现(又是它)
- 可以滑动的页面,这不就是ppt吗?用了swiper.js这个Jquery插件(又是库)
- 可以随意涂抹修改,使用canvas叠加层,canvas是HTML5标准里面的标签。这不是ppt吗?
- 有动态的文字和图片,常见的是使用了css3或者直接使用js动画,这不是ppt吗?
- 可以填表报名,使用最基本的表单
- 可以支持分享自定义的文案和图片
html5 和h5的区别
html5 是公认的web开发的html规范,是一系列关于html的标准,它就好比是国家的法律,比如未成年不准进网吧,网吧要是允许未成年人进入,国家就要对网吧和未成年人进行处罚和教育。同样的,你写的html网页不遵守html5规范,可能导致你的网页在浏览器上出现一系列问题,后果自负。
h5是一系列技术的集合,它是应用一系列的web技术出现的产物。
2.HTML5是什么?有哪些新特性?有哪些新增标签?如何让低版本的 IE 支持 HTML5新标签?
HTML5 是 HTML标准的最新演进版本,它是一个新的 HTML 语言版本包含了新的元素,属性和行为,同时包含了一系列可以被用来让 Web 站点和应用更加多样化,功能更强大的技术。 这套技术往往被称作 HTML5 和它的朋友们,通常简称为 HTML5
新特性
- 语意特性,添加<header><header/><nav><nav>等标签
- 多媒体, 用于媒介回放的 video 和 audio 元素
- 图像效果,用于绘画的 canvas 元素,svg元素等
- 离线 & 存储,对本地离线存储的更好的支持,local Store,Cookies等
- 设备兼容特性 ,HTML5提供了前所未有的数据与应用接入开放接口。使外部应用可以直接与浏览器内部的数据直接相连,
- 连接特性,更有效的连接工作效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流得到了实现。HTML5拥有更有效的服务器推送技术,Server-Sent Event和WebSockets就是其中的两个特性,这两个特性能够帮助我们实现服务器将数据“推送”到客户端的功能
- 性能与集成特性,HTML5会通过XMLHttpRequest2等技术,帮助您的Web应用和网站在多样化的环境中更快速的工作
新增标签
- 多媒体:<audio></audio>, <video><video>,<source></source>, <embed></embed>, <track></track>
- 新表单元素:<datalist> ,<output> , <keygen>
- 新文档节段和纲要:<header>页面头部、<section>章节、<aside>边栏、<article>文档内容、<footer>页面底部、<section>章节、<aside>边栏、<article>文档内容、<footer>页面底部等
使用html5shiv可以解决ie低版本不兼容的问题,只需要在head中加上,当版本低于IE9时,浏览器会加载html5.js脚本,使得支持html5的新功能,也可以将脚本文件下载到本地
<head>
<!--[if lt IE 9]>
<script src='http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js'>
</script>
<![endif]-->
</head>
color,选择颜色
date 选择日期
email 用于检测输入的是否为email格式的地址
month 选择月份
number 用于应该包含数值的输入域,可以设定对输入值的限定
range 用于定义一个滑动条,表示范围
search 用于搜索,比如站点搜索或 Google 搜索
tel 输入电话号码
-time 选择时间
url 输入网址
week 选择周和年
4.浏览器本地存储中 cookie 和 localStorage 有什么区别? localStorage 如何存储删除数据。
共同点
sessionStorage、localStorage和cookie都由浏览器存储在本地的数据。
区别:1
- cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递,localStorage不会自动把数据发给服务器,仅在本地保存
- cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下,存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。localStorage不会自动把数据发给服务器
- cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据
- localStorage支持事件通知机制,可以将数据更新的通知发送给监听者。 api 接口使用更方便。而cookie的原生接口不友好,需要程序员自己封装
HTML5中提供了localStorage对象可以将数据长期保存在客户端,除非人为清除,localStorage提供了几个方法:
- 存储:localStorage.setItem(key,value)如果key存在时,更新value
- 获取 localStorage.getItem(key)如果key不存在返回null
- 删除 localStorage.removeItem(key)一旦删除,key对应的数据将会全部删除
- 全部清除 localStorage.clear() 使用removeItem逐个删除太麻烦,可以使用clear,执行的后果是会清除所有localStorage对象保存的数据
注意:localStorage存数的数据是不能跨浏览器共用的,一个浏览器只能读取各自浏览器的数据,储存空间5M。 - 写出如下 CSS3效果的简单事例
1、圆角, 圆形
2、div 阴影
3、2D 转换:放大、缩小、偏移、旋转
4、3D 转换:移动、旋转
5、背景色渐变
6、过渡效果
7、动画
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.circularA{
width: 100px;
height:100px;
border: 1px solid #000;
border-radius: 10px;
background-color: #6633FF;
text-align: center;
line-height: 100px;
margin: 10px;
}
.circularB{
width: 100px;
height:100px;
border: 1px solid #000;
border-radius: 50%;
background-color: #FF6699;
text-align: center;
line-height: 100px;
margin: 10px;
}
.shadow{
background-color: white;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
text-align: center;
margin: 10px;
width: 50%;
height: 50%;
color: #666;
transform: rotate(-7deg);
}
.shadow>img{
width: 90%;
height: 90%;
margin-top: 20px;
}
.change2d{
/*margin: 100px;*/
color: #666;
text-align: center;
width: 300px;
margin: 150px;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
transform: rotate(9deg);
}
.change2d>img{
margin-top: 20px;
width: 90%;
height: auto;
color: #666;
cursor: pointer;
}
.change2d:hover{
transform: matrix(1.5,0,0,1.5,50,50);
transition: all 1s;
}
.change3d{
/*margin: 100px;*/
color: #666;
text-align: center;
width: 300px;
margin: 150px;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
.change3d>img{
margin-top: 20px;
width: 90%;
height: auto;
color: #666;
cursor: pointer;
}
.ct-3d{
/*transform-style:preserve-3d;*/
perspective: 160;
-webkit-perspective:160; /* Safari and Chrome */
perspective-origin:150% center;
-webkit-perspective-origin:150% center;/* Safari and Chrome */
}
.change3d:hover{
transform:rotateX(5deg) translate3d(250px,50px,10px);
transition: all 1s;
}
.bgGradient{
width: 400px;
height: 400px;
border-radius: 50%;
background: repeating-radial-gradient(red ,green,blue 10%);
}
.transitionEg{
width: 300px;
height: 500px;
margin: 50px 10px 10px 150px;
transform-style:preserve-3d;
}
.transitionEg img{
position: absolute;
top: 0;
left: 0;
width: 300px;
height: 400px;
}
.transitionEg img:nth-child(1){
z-index: 1;
opacity: .6;
}
.transitionEg img:nth-child(2){
z-index: 2;
-webkit-transform: scaleZ(3) rotateX(45deg);
transform: scaleZ(3) rotateX(45deg);
}
.transitionEg h3{
position: absolute;
top: 80%;
left: 20%;
}
.transitionCt{
position: relative;
-webkit-perspective: 4200;
perspective: 4200;
cursor: pointer;
}
.transitionCt:hover{
-webkit-perspective: 2200;
perspective: 2200;
transition: all 2s;
}
.btn{
margin: 20px 10px 200px 10px;
display: inline-block;
padding: 15px 25px;
font-size: 24px;
font-weight: bolder;
cursor: not-allowed;
text-align: center;
color: #fff;
border-radius: 15px;
background-color: #4caf39;
box-shadow: 0 20px #999;
}
@keyframes myfirstAnimation {
from { }
to{
background-color: #0c8e35;
box-shadow: 0 2px #666;
transform: translateY(12px);
}
}
.btn{
-webkit-animation: myfirstAnimation 2s linear 1.5s infinite;
animation: myfirstAnimation 2s linear 1.5s infinite;
/*-webkit-animation-name:myfirst;*/
/*-webkit-animation-duration:5s; 完成时间 */
/*-webkit-animation-timing-function:linear;规定动画的速度曲线。默认是 "ease"。*/
/*-webkit-animation-delay:2s; 延迟时间*/
/*-webkit-animation-iteration-count:infinite; 循环次数 */
/*-webkit-animation-direction:alternate; 是否反过来运行*/
/*-webkit-animation-play-state:running;规定动画是否正在运行或暂停*/
}
.animateEg{
height: 100px;
width: 400px;
}
</style>
</head>
<body>
<div class="circularA">圆角</div>
<div class="circularB">圆形</div>
<div class="shadow">![](./lunbo2.jpg)<h3>美丽的风景</h3></div>
<div class="change2d">![](./lunbo1.jpg)<h3>鼠标放上去我会放大</h3></div>
<div class="ct-3d">
<div class="change3d">![](./1.jpg)<h3>鼠标放上去我会移动和旋转</h3></div>
</div>
<div class="bgGradient"></div>
<div class="transitionCt">
<div class="transitionEg">
![](./lunbo3.jpg)
![](./lunbo3.jpg)
<h3>鼠标放上来我会慢慢动</h3>
</div>
</div>
<div class="animateEg">
<button class="btn">按钮正在被连续按下</button>
</div>
</body>
6: 实现如下全屏图加过渡色的效果
http://js.jirengu.com/tehesonace/1/edit
7: 写出如下 loading 动画效果
http://js.jirengu.com/yagohadoda/2/edit
http://js.jirengu.com/dewilozoce/2/edit