**2016/05/25 **
问答
1. 文档流的概念指什么?有哪种方式可以让元素脱离文档流?
文档流是文档中可显示对象在排列时所占用的位置。将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素。
脱离文档流的方法:1.postion:fixed;
2.position:absolute;
3.float:left/right;
2有几种定位方式,分别是如何实现定位的,使用场景如何?
有四种定位方式,分别是position:static;position:absolute;position:relative;position:fixed;
1.position:static;默认值,没有定位,元素出现在正常的流中
2.position:absolute;绝对定位,相对于 static 定位以外的第一个父元素进行定位,若没有则相对于body定位
3.position:relative;相对定位,相对于自身原来位置定位
4.positon:fixed;生成绝对定位的元素,相对于浏览器窗口进行定位,常用于广告窗
3.absolute, relative, fixed 偏移的参考点分别是什么
absolute是相对于 static 定位以外的第一个父元素进行定位,如果不存在已经定位的父元素,则相对于最初的包含块;relative是相对于元素在文档中的初始位置来进行定位;fixed是相对于浏览器窗口进行定位。
4.z-index 有什么作用? 如何使用?
z-index用来控制层叠元素的优先级,值越大,优先级越大。该元素只在设置了定位的元素身上生效。
5.position:relative和负margin都可以使元素位置发生偏移?二者有什么区别
position:relative是相对于元素当前位置进行偏移,移动后,其之前的位置还在,它的文档流的位置不变而它后面的元素不会感知到它的偏移,所以可能会发生压盖.
margin进行位置偏移的时候会影响到跟它相近的元素,它的文档流的位置也随着发生进行了改变。
6.如何让一个固定宽高的元素在页面上垂直水平居中?
先用定位把其左上角定位到中点,margin-left:-宽度的一半;margin-top:-高度的一半;
7.浮动元素有什么特征?对其他浮动元素、普通元素、文字分别有什么影响?
浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。脱离文档流,文字会环绕浮动元素,普通元素会被覆盖住。
8.清除浮动指什么? 如何清除浮动?
清除浮动是指清除浮动带来的影响,比如父元素的高度无法被撑开,影响与父元素同级的元素。与浮动元素同级的非浮动元素会跟随其后。若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构。可以用clear:both;添加clear属性只能对自己有效