定位、浮动

文档流的概念指什么?有哪种方式可以让元素脱离文档流?

  • 文档流:将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即为文档流.(自己的理解是从头到尾按照文档的顺序,该在什么位置就在什么位置,也可以按照上面的意思理解,自上而下,自左到右的顺序)
  • 脱离文档流:
    A. float
    B. position:absolute
    C. position:fixed

有几种定位方式,分别是如何实现定位的,使用场景如何?

  • position:absolute 将对象从文档流中拖出,使用left,right,top,bottom等属性相对于他最近的定位祖先元素。如果没有这样一个祖先元素,则相对于原始的容器。。而其层叠通过z-index属性定义 。(布局内部)
  • position:fixed 固定定位。相对于浏览器窗口定位,浏览器不会因此显示滚动条,而当滚动条滚动时,对象始终固定在原来位置。(广告、对话框、、、)
  • position:relative 相对定位。对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置。(小偏移)
  • 负margin:通过使用margin-top、margin-right、margin-bottom、margin-left使元素位置发生偏移。

absolute, relative, fixed 偏移的参考点分别是什么

  • absolute 相对于父容器具有position属性的进行定位
  • relative 相对于它自身原来的位置进行定位
  • fixed 固定定位,相对于浏览器的窗口进行定位

z-index 有什么作用? 如何使用?

  • 设置层级高低
  • z-index:1 默认是0,也可以设置为负数

position:relative和负margin都可以使元素位置发生偏移?二者有什么区别

  • position:relative 本身还处在文档流中,对其他元素没有影响。同时设置上下(左右)不会都生效,冲突默认上左生效
  • 负margin方法使元素位置偏移,使元素在文档流中的位置发生了改变,其后的元素受其影响。margin-left;margin-top;自身会移动。而margin-left;margin-bottom影响其他元素。


    定位、浮动_第1张图片
    QQ截图20160622110832.png

如何让一个固定宽高的元素在页面上垂直水平居中?

定位、浮动_第2张图片
居中.png
.ct{
  height:500px;
  background:#ccc;
  position:relative;
}
.box2{
  width:100px;
  height:100px;
  border:1px solid;
  position:absolute;
  top:50%;
  left:50%;
  margin:-50px 0 0 -50px;
}

浮动元素有什么特征?对其他浮动元素、普通元素、文字分别有什么影响?

  1. 脱离文档流,使没设置高度父容器塌陷。
  2. 后面的元素挤上来,同时挤上来的元素内容被挤出(文字环绕)

清除浮动指什么? 如何清除浮动?

撑开父容器高度,使父容器占据浮动元素的文档流,以免影响其他元素
1.给父元素加高度
2.给父元素加浮动、position、overflow形成BFC,使父元素意识到浮动元素的存在。
3.加个div/伪类after并清楚两侧浮动,使小尾巴跑到最后一行,从而撑开高度。

你可能感兴趣的:(定位、浮动)