核心代码
.container {
display: inline-block; /*使容器具有包裹性 */
position: relative; /*限制cover层的范围,用老师的话说就是天使爆裂范围到此为止*/
}
.cover {
position: absolute; /*天使爆裂起手式*/
left: 0; top: 0; bottom: 0; right: 0; /*大招全开,天使爆裂!cover层占满整个容器 */
background-color: rgba(1,128,255,.3);/* 设置cover层透明色 */
}
.container {
display: inline-block; /*使容器具有包裹性 */
position: relative; /*限制cover层的范围,用老师的话说就是天使爆裂范围到此为止*/
}
.cover {
position: absolute; /*天使爆裂起手式*/
left: 0; top: 0; bottom: 0; right: 0; /*大招全开,天使爆裂!cover层占满整个容器 */
background-color: rgba(1,128,255,.3);/* 设置cover层透明色 */
}
2016-07-30
@johnwayne
元素设置absolute之后,
1.会脱离文档流形成“悬空”效果
2.设置absolute的元素仍然可以有margin
想象一下,这时候元素就相当于一个小飞碟,“悬浮”在文档流所在平面的上方,margin就相当于小飞碟四周用来控制方向的喷射器。
小飞碟(元素)想往下移动,就开动上方的喷射器(设置margin-top),往上喷气(margin-top为正值),小飞碟(元素)就往下走了,这个道理大家都懂的
想想宇航员太空行走的样子吧!噗噗噗,那个小喷头,就相当于在改变宇航员自身的"margin"值
元素设置absolute之后,
1.会脱离文档流形成“悬空”效果
2.设置absolute的元素仍然可以有margin
想象一下,这时候元素就相当于一个小飞碟,“悬浮”在文档流所在平面的上方,margin就相当于小飞碟四周用来控制方向的喷射器。
小飞碟(元素)想往下移动,就开动上方的喷射器(设置margin-top),往上喷气(margin-top为正值),小飞碟(元素)就往下走了,这个道理大家都懂的
想想宇航员太空行走的样子吧!噗噗噗,那个小喷头,就相当于在改变宇航员自身的"margin"值
2016-07-29
补充一下楼上说的
absolute的破坏性是对图片的absolute化。图片设置absolute后,图片就从标准文档流中脱离出来,没有东西可以继续支撑容器的高度,容器自然就坍塌了。好像把房子的柱子挪到房子外边,房子果断就塌了
absolute的包裹性是对容器的absolute化。容器设置absolute后,容器变为了 inline-block,容器本身没有设置宽度和高度的话,那么容器的宽高就等于内容的宽高,表现结果就是容器把内容包裹起来。
absolute的破坏性是对图片的absolute化。图片设置absolute后,图片就从标准文档流中脱离出来,没有东西可以继续支撑容器的高度,容器自然就坍塌了。好像把房子的柱子挪到房子外边,房子果断就塌了
absolute的包裹性是对容器的absolute化。容器设置absolute后,容器变为了 inline-block,容器本身没有设置宽度和高度的话,那么容器的宽高就等于内容的宽高,表现结果就是容器把内容包裹起来。
2016-07-29
if语句的判断condition始终返回的都是一个布尔值,如果condition返回的不是布尔类型值,JS会自动调用内置的转型函数Booleaan()将其转换为布尔值,例如这儿的this.absolute的数据类型是变量(任何非null对象都会转换为布尔值true)将会被转换为true。
这儿就是在判断:this.absolute==true,明显true==true,执行第一个声明,然后其值被赋值false,再次点击的时候(this.absolute作为全局变量还存在内存中),判断this.absolute==true,明显false!=true,执行第二个声明,然后其被赋值true
这儿就是在判断:this.absolute==true,明显true==true,执行第一个声明,然后其值被赋值false,再次点击的时候(this.absolute作为全局变量还存在内存中),判断this.absolute==true,明显false!=true,执行第二个声明,然后其被赋值true
2016-07-27