1、H5的新特性有哪些?C3的新特性有哪些?(必会).......................................................22
2、Localstorage、sessionStorage、cookie的区别(会)........................................................23
3、H5的浏览器存储有哪些?(必会).....................................................................................23
4、简述transform,transition,animation的作用?(必会)...................................................24
5、如何使一个盒子水平垂直居中?(必会)..........................................................................24
6、如何垂直居中一个 img?(必会)........................................................................................29
7、如何实现双飞翼(圣杯)布局?(必会)..........................................................................29
8、CSS的盒模型?(必会)......................................................................................................32
9、什么是渐进增强和优雅降级?它们有什么不同?(必会)................................................33
10、哪些是块级元素那些是行内元素,各有什么特点 ?(必会)......................................34
11、CSS中选择器的优先级以及CSS 权重如何计算?(必会).......................................... 34
12、CSS选择器有哪些?哪些属性可以继承?(必会)............................................................35
13、HTML5的离线存储怎么使用,工作原理是什么?(必会)............................................35
14、说说你对语义化的理解?列举5个语义化的标签?(必会)........................................36
15、 列举5个以上的H5事件?(必会)................................................................................37
16、列举5个以上的H5input元素type属性值?(必会).....................................................37
17、用CSS3做一个三角形?(必会).....................................................................................38
18、CSS中哪些属性可继承,哪些不可以?(必会)............................................................39
19、CSS单位中px、em和rem的区别?(必会)..................................................................39
20、rem适配方法如何计算HTML跟字号及适配方案?(必会)..........................................40
21、CSS中link和@import的区别?(必会).........................................................................40
22、Display:none与visibility:hidden的区别?(必会)......................................................41
23、Position的值有哪些,分别有哪些作用?(必会)..........................................................41
24、为什么会出现浮动?浮动元素会引起什么问题?如何清除浮动?(必会)................42
25、简述弹性盒子flex布局及rem布局?(必会)................................................................43
26、important的作用?(必会)................................................................................................46
27、如何解决margin“ 塌陷” ?(必会)................................................................................46
28、 什么是外边距重叠?重叠的结果是什么?(必会)......................................................47
29、HTML5的input增加哪些type?(必会)..........................................................................48
30、雪碧图 ( 精灵图 )?(必会)......................................................................................48
31、less和Scss的配置使用以及特点?(必会)................................................................... 49
32、::before和::after中双冒号和单冒号有什么区别、作用?(必会).............................50
33、CSS3新增伪类,以及伪元素?(必会)..........................................................................51
34、 img的alt与title的异同,还有实现图片懒加载的原理?(必会)............................ 51
35、BFC是什么?(高薪常问).................................................................................................52
36、列举HTML5移动开发APP框架?(了解)......................................................................52
37、Style标签写在body后与body前有什么区别?(了解)................................................53
38、如何区分HTML和HTML5?(了解)................................................................................ 53
39、使用CSS预处理器的优缺点有哪些?(了解)...............................................................53
40、 Doctype作用,H5为什么只需要写<!DOCTYPE HTML>?(了解)............................54
41、什么是字体图标?如何避免图片在网页上失真?(了解)............................................54
42、ifram有哪些优缺点?(了解)...........................................................................................54
43、什么是canvas,基本用法是什么?你使用它做个什么需求?(了解)........................55
44、使用CSS怎么让Chrome支持小于12px的文字比如10px?(了解)...........................56
1、H5的新特性有哪些?C3的新特性有哪些?(必会)
H5新特性
1、拖拽释放(Drap and drop) API ondrop
拖放是一种常见的特性,即抓取对象以后拖到另一个位置
在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放
2、自定义属性data-id
3、语义化更好的内容标签(header,nav,footer ,aside, article, section)
4、音频 ,视频(audio, video) 如果浏览器不支持自动播放怎么办?在属性中添加autoplay
5、画布Canvas
5.1)getContext() 方法返回一个用于在画布上绘图的环境Canvas.getContext(contextID)
参数 contextID 指定了您想要在画布上绘制的类型。当前唯一的合法值是 “2d”,它指定了
二维绘图,并且导致这个方法返回一个环境对象,该对象导出一个二维绘图 API
5.2)cxt.stroke() 如果没有这一步 线条是不会显示在画布上的
5.3)canvas和image在处理图片的时候有什么区别?
image是通过对象的形式描述图片的,canvas通过专门的API将图片绘制在画布上.
6、地理(Geolocation) API
7、本地离线存储localStorage 长期存储数据 浏览器关闭后数据不丢失
8、sessionStorage 的数据在浏览器关闭后自动删除
9、表单控件 calendar , date , time , email , url , search , tel , file , number
10、新的技术 webworker, websocket , Geolocation
CSS3新特性
1、颜色: 新增RGBA , HSLA模式
2、文字阴影(text-shadow)
3、边框: 圆角(border-radius) 边框阴影 : box-shadow
4、盒子模型: box-sizing
5、背景:background-size background-origin background-clip
6、渐变: linear-gradient , radial-gradient
7、过渡 : transition 可实现动画
8、自定义动画 animate @keyfrom
9、媒体查询 多栏布局 @media screen and (width:800px) {…}
10、border-image
11、2D转换;transform: translate(x,y) rotate(x,y) skew(x,y) scale(x,y)
12、3D转换
13、字体图标 font-face
14、弹性布局flex
2、Localstorage、sessionStorage、cookie的区别(必会)
共同点:都是保存在浏览器端、且同源的
区别:
1、cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器
间来回传递,而sessionStorage和localStorage不会自动把数据发送给服务器,仅在本地保存。
cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下
2、存储大小限制也不同,cookie数据不能超过4K,同时因为每次http请求都会携带cookie、
所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage虽然也有存
储大小的限制,但比cookie大得多,可以达到5M或更大
3、数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭之前有效;localStorage:始
终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie:只在设置的cookie过
期时间之前有效,即使窗口关闭或浏览器关闭
4、作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localstorage
在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的
5、web Storage支持事件通知机制,可以将数据更新的通知发送给监听者
6、web Storage的api接口使用更方便
3、H5的浏览器存储有哪些?(必会)
1、cookie
这个存储用了很久了,而且也是以前大多网站十分喜欢的存储站点。但是也很容易被
清除。同时cookie会在每一次通信过程中传向服务端。同时cookie有一个很好的地
方就是,它本身有一个过期时间属性,可以用来标注一个变量的有效期。而cookie一
旦过期就会被自动删除掉
2、localStorage、sessionStorage
- localStorage: 持久存储,只要用户不主动删除就会一直存在。
- sessionStorage:面向session的浏览器存储,因此只存在于一个页面的生命周期
内,关闭即清除两者均采用键值对的形式存储数据
3、indexedDB
内嵌在浏览器端的非关系型数据库,数据以键值对的形式存储,兼容性良好
indexDB直接操作的存储对象是ObjectStore,这有点类似其他数据库中table概念
4、websql
内嵌在浏览器的关系型数据库,前端可以像在使用mysql、Oracle一样的写sql语句,
并存储信息。兼容性良好。存储后可在浏览器resource中查看
5、window变量
生命周期有限,一般大家也不会去使用。但是对于全局变量的临时存储来说,还是一
个不可多得的好地方
6、flash cookie
flash cookie现在用的地方比较多
4、简述transform,transition,animation的作用?(必会)
1、transform:描述了元素的静态样式,本身不会呈现动画效果,可以对元素进行 旋转
rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matrix。
transition和animation两者都能实现动画效果
transform常常配合transition和animation使用
2、transition样式过渡,从一种效果逐渐改变为另一种效果
transition是一个合写属性
Transition:transition-property transition-duration transition-timing-function
transition-delay
从左到右分别是:css属性、过渡效果花费时间、速度曲线、过渡开始的延迟时间
transition通常和hover等事件配合使用,需要由事件来触发过渡
3、animation动画 由@keyframes来描述每一帧的样式
区别:
3.1)transform仅描述元素的静态样式,常常配合transition和animation使用
3.2)transition通常和hover等事件配合使用,animation是自发的,立即播放
3.3)animation可设置循环次数
3.4)animation可设置每一帧的样式和时间,transition只能设置头尾
3.5)transition可与js配合使用,js设定要变化的样式,transition负责动画效果。
5、如何使一个盒子水平垂直居中?(必会)
方法一:利用定位(常用方法,推荐)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.parent {
width: 500px;
height: 500px;
border: 1px solid #000;
position: relative;
}
height: 100px;
border: 1px solid #999;
position: absolute;
top: 50%;
left: 50%;
margin-top: -50px;
margin-left: -50px;
}
</style>
</head>
<body>
<div class="parent">
<div class="child">我是子元素</div>
</div>
</body>
</html>
方法二:利用margin:auto;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.parent {
width: 500px;
height: 500px;
border: 1px solid #000;
position: relative;
}
.child {
width: 100px;
height: 100px;
border: 1px solid #999;
position: absolute;
margin: auto;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
</style>
</head>
<body>
<div class="parent">
<div class="child">我是子元素</div>
</div>
</body>
</html>
方法三:利用display:table-cell
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.parent {
width: 500px;
height: 500px;
border: 1px solid #000;
display: table-cell;
vertical-align: middle;
text-align: center;
}
.child {