暑假作业

244 阅读5分钟

html语义化: 在合适的地方用合适的标签

块极元素:多个元素展示在一行,不可以设置宽高。常用的块极元素:

<span> <a> <i>

行极元素:一个元素展示在一行,可以设置宽高。

<div> <ul> <li> <p> <h1~h6>

css常见的选择器(权重):标签(1)类(10)ID(100)子代选择器(>分开) 后代选择器(空格分开) 分组选择器(逗号分开)

position定位区别:

absolute:绝对定位,根据最近的已定位的祖先元素定位

relative:相对定位,根据自己当前位置定位。

fixed:固定定单位,相对于浏览器窗口定位。

display: none,block,inline,inline-block

none:该元素不会被展示

block:展示为块极元素

inline:展示为行级元素

inline-block:展示为行极块元素

清除浮动:

元素浮动后的缺陷:父元素会塌陷

解决方法(四种):

1.给父元素设置高度

2.父元素设置溢出隐藏: overflow:hidden

3.给父元素内添加最后一个子元素,并在子元素内设置清除浮动 clear:both;

4.clearfix

.clearfix after:{
content:"";
display:block;
clear:both;
}

外边距合并:

js数基本据类型:

number数字,string字符串,null空,undefined未定义,boolean布尔。

js有两种引用数据类型:数组array、对象object。

this指针的几种情况:

1.在函数中,this是Window。

2.在定时器中,this是Window。

3.在对象中,this是当前的对象。

4.在构造函数中,this是实例化的对象。

5.在事件绑定中,this是绑定事件的对象。

改变this的方法有3中:

call()括号里有多个参数,第一个参数是要改变指针的对象,后面的参数是原方法中需要用到的参数。

如 f1.call(oDiv,2,3);

apply()括号里有两个参数,第一个参数是要改变指针的对象,后面的参数是需要用到的参数数组。

如f1.apply(oDiv,[2,3]);

bind(参数)(手动调用需要的括号):参数和call 一样。

如 f1.bind(oDiv,2,3)();

call和bind区别:call自动调用,bind手动调用,需要在后面加()。

闭包的条件:

1.外部函数里有一个内部函数,(函数套函数)。

2.内部函数会使用外部函数的局部变量。

闭包的特点:闭包里的变量不会被垃圾回收机制清理,会一直存在内存里。

缺点:内存会泄露。

优点:可以拿到索引值。

事件冒泡:从里到外

事件捕获:从外到里

既有冒泡又有捕获:先捕获再冒泡。

事件委托: 基于事件冒泡

水平垂直都居中:

div{
background: red;
width:200px;
height:400px;
/* <!--把元素变成定位元素--> */
position:absolute;
/* <!--设置元素的定位位置,距离上、下、左、右都为0--> */
left:0;
right:0;
top:0;
bottom:0;
/* <!--设置元素的margin样式值为 auto--> */
margin:auto;
}

左侧固定右侧自适应:父元素display: flex;左元素固定宽度,右元素自适应flex-glow:1。 自适应:瓜分父元素剩下的大小。


    #contain{
    width: 100%;
    height: 200px;
    display: flex;
    }

    #div1{
    height: 100px;
    background: pink;
    width: 100px;
}

    #div2{
    height: 100px;
    background:blue;
    flex-grow: 1
}

弹性盒模型:在父元素上加 display:flex 子元素加flex-grow:(想要占父元素剩下大小几份的具体值) 若反向排序,则需要在父元素加上flex-direction:reverse;

若垂直反向排序,则需要在父元素上加 flex-direction:column-reverse;

justify-content

flex-start:从起始位置对齐。

flex-end:从结束位置对齐。

space-between:第一个元素起始对齐,最后一个元素结束位置对齐,中间的元素在中间平分位置。

space-around:相当于每个元素的外边距相等

常见的html5标签:

cookie :存储大小为4K,可以设置过期时间,如果不设置关闭浏览器窗口就没了。

localStorage :存储大小为5M,会永久的存储在浏览器中 除非手动删除。

sessionStorage :存储大小为5M,浏览器窗口关闭之后就没了。

es6:新特性

1、let生命的变量不存在变量提升。

2、不可以重复声明。

3、新增了一个作用域,块作用域。let声明的变量在块极作用域内。

4、会形成暂时性死区,只能在声明后试用,声明前使用的代码就是暂时性死区。

增加了箭头函数,箭头函数this指针指向父元素。

解构赋值:从数组和对象中提取每个值,对变量进行赋值。数组按照索引下标顺序赋值。 对象按key进行赋值,如果不希望用原来的key作为变量名,可以用:x起别名。

Vue指令:

指令: v-for 循环数组和对象的

v-model绑定在表单元素。 v-bind绑定属性 v-bind:class 简写成 :class v-show 是否展示出来 v-on:绑定事件

生命周期:

beforeCreate()实例创建之前

created()实例创建成功,可以获取到data ,el是 undefined

beforeMount()元素已经挂载上了,但是内容还没有填充进去,会有一个占位

mounted()模版中的 data 数据获取到了

beforeUpdate()数据更改之前,虚拟dom里的内容会更新,真实dom里不会更新

updated()数据更改完成 虚拟dom里的内容会更新,真实dom里也会更新

beforeDestroy() 在 vue 实例销毁之前调用

destroyed() 在 vue 实例销毁之后调用,vue 实例指示的所有东西都会解绑定