HTML5 & CSS3新特性
html5:
1.HTML5新元素:HTML5提供了新元素来创建更好的页面结构
article:独立的内容区域
aside:侧边栏
details:描述文档的一些细节
dialog定义对话框
footer
header
nav
progress
section
time
2.Canvas它是HTML的一种新特性,用JS在浏览器上绘图的一种手段
3.HTML5拖放:
为了使元素可拖动,把draggable属性设置为true
拖动什么-ondragstart和setData()
放到何处-ondragover
进行放置-odrop
4.属性选择器:
[attr]
[attr=value]
[attr ~= value] 以attr命名,该属性是一个以空格作为分隔符的值列表,其中有一个至少为value
[attr |= value] 以attr命名,该属性值为value或是value-为前缀开头
[attr ^= value] 以attr命名,且值以value开头的属性的元素
[attr $= value] 以attr命名,且值以value结尾的属性的元素
[attr *= value] 以attr命名,且值包含value的属性的元素
5.伪类选择器
:first-child
:last-child
:nth-child
:not() 否定伪类选择器
:target 目标伪类选择器
:empty 空集伪类选择器
6.伪元素选择器
:after :before
::session 可改变选中文本的样式(只支持背景色和字体颜色)
:placeholder 设置对象文字占位符的样式
7.过渡:
transition
用于媒介回放的 video 和 audio 元素
对本地离线存储的更好的支持
语义化标签,比如 article、footer、header、nav、section
新的表单控件,比如 calendar、date、time、email、url、search
css3:
1. CSS3实现圆角(border-radius),阴影(box-shadow),
2. 对文字加特效(text-shadow、),线性渐变(gradient),旋转(transform)
3. transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);// 旋转,缩放,定位,倾斜
4. 增加了更多的CSS选择器 多背景 rgba
5. 在CSS3中唯一引入的伪元素是 ::selection
6. 媒体查询,多栏布局
7. border-image
UI设计稿像素: 移动端 PC端
移动端的话使用二倍图,UI提供的是640px的,我们做成320px的,使用
二倍图,PC端使用原图。
移动屏幕分辨率
js数据类型 检测的四种方式
① typeof
② instanceof
③ constructor
④ object.prototype.tostring.call()
事件委托 事件监听 事件绑定
事件委托也叫事件代理,事件委托是利用事件的冒泡原理来实现的,从事件最深的根节点开始,逐渐向上传播事件,比如一个ul中有100个li,在ul上绑定一个点击事件,点击任一li都会触发该事件。
事件委托的好处是:①减少DOM操作,DOM操作会影响到浏览器的重绘与重排,影响到整个页面的交互时间,总的来说就是减少DOM操作次数,提高性能 ② 节省内存空间,每个函数都是对象,都要放在内存中,如果在li中绑定事件,有多少个li就有多少个事件处理函数,如果用事件委托,只需一个事件处理函数,大大节约内存空间
<ul id="ul">
<li>哈哈</li>
<li>哼哼</li>
<li>嘟嘟</li>
</ul>
<script>
document.getElementById('uu').onmouseover = function(e){
e = e || window.event;
var target = e.target || e.srcElement;
if(target.tagName = 'LI'){
target.style.backgroundcolor = 'yellow'
}
}
</script>
事件的捕获和冒泡
事件冒泡:子元素的某个事件被触发,父系盒子中所有的元素的同一事件都会被触发
事件被触发后还有传播的能力,传播形式有两种,传播的阶段有三个捕获1—目标2—冒泡3
普通事件绑定支持的是冒泡
ie678不支持捕获,所以验证捕获只能用addEventListener(),addEventListener()有第三个参数,false和不写支持冒泡。true支持捕获
捕获就是从DOM树的顶层向底层传播事件,冒泡就是从底层向顶层传播事件
事件对象event,只有事件被触发的时候才能获取
event的一个属性用于演示事件的传播阶段event.eventPhase
事件的引发者不一定是事件源,如果处于捕获和冒泡阶段的话,事件的引发者不是事件源,目标阶段是事件源
var ele = event.target ? event.target(火狐谷歌):event.srcElement(ie678);
阻止事件的传播本质就是阻止冒泡
if(event,stopPropagation) {
event,stopPropagation();
} else {
event.cancleBubble = true;
}
数组方法
冒泡排序 tab切换轮播图
深拷贝 浅拷贝
原型链
ES5 ES6的继承
闭包
call apply的区别
ES6新特性
this指向
作用域提升
函数 对象的创建方式
判断对象
h5 css3 新特性
Bom Dom
Ajax原理
http状态码
get post区别
跨域的处理
Jsonp原理
Ajax参数:不要只说最基础的那四个
jQ封装
布局:flex less+rem
适配:百分比 flex rem媒体查询
移动端事件
屏幕分辨率
移动端布局
Bootstrap
mvv mvc
怎么理解vue(开放性问题):比另外俩框架性能好,减少dom操作,中文文档
vue-router配置 子路由配置 获取路由参数
webpack基本配置
性能优化(网页加载快):从网页结构下手
git命令
兼容性问题
浏览器渲染页面的过程:比如你输入了淘宝网址,到出现淘宝页面的过程
http协议:超文本传输协议,一次请求对应一次相应,无状态,不存储信息,引 到session 和cookie 上面,
http现在版本2.0 报文组成
http和https区别:加密
代码优化:多封装等
npm命令