定位

如果你想稍微改变布局中一些盒子的位置,或者,如果您想要创建一个浮动在页面其他部分顶部的UI元素,并且/或者始终停留在浏览器窗口内的相同位置,无论页面滚动多少?定位使这种布局工作成为可能。
我们可以通过设置position属性的值来覆盖默认的布局方式(就是可以覆盖掉基本文档流行为)

  • top属性
  • left属性
  • right属性
  • bottom属性

定位分类:

  1. 静态定位
    默认行为

  2. 相对定位
    它是占据在正常的文档流中,你可以修改它的最终位置,也可以让它与页面上的其他元素重叠。
    position:relative;
    代码

  3. 绝对定位
    代码
    它不再存在于正常文档布局流中,它坐在它自己的层独立于一切。
    注意:元素的位置已经改变,这是因为top,bottom,left,right以不同方式在绝对定位。他们指定元素应距离每个包含元素的边的距离,而不是指定元素应该移入的方向。
    这里可能有疑问包含元素是什么?
    这取决于绝对定位元素的父元素的position属性。
    如果所有的父元素都没有显式地定义position属性,那么所有的父元素默认情况下position属性都是static。结果,绝对定位元素会被包含在初始块容器中。这个初始块容器有着和浏览器视口一样的尺寸,并且<html>元素也被包含在这个容器里面。简单来说,绝对定位元素会被放在<html>元素的外面,并且根据浏览器视口来定位。
    总结:一个元素加了absolute,那它的父容器设置为relative;绝对定位元素可以设置宽高(类似浮动)

问题:那么两个元素重叠如何决定决定哪个覆盖哪个?
z-index

  1. 固定定位
    固定定位固定元素则是相对于浏览器视口本身。 这意味着您可以创建固定的有用的UI项目,如持久导航菜单。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 当在这一个页面上实现布局和定位有几种不同的技术。使用哪种技术,很大程序上取决于内容和目标页面,因为有很多技术比别人...
    lulu_c阅读 1,156评论 0 5
  • CSS 定位 CSS有三种基本的定位机制:普通流,浮动,绝对定位(absolute, fixed):普通流是默认定...
    _空空阅读 5,877评论 0 15
  • 自我总结: 浮动是实现布局的一种常见方式 浮动脱离普通文档流,即页面渲染时,盒模型按标准会将父元素所设置的属性将页...
    饥人谷_远方阅读 447评论 0 0
  • relative:生成相对定位的元素,通过top,bottom,left,right的位置相对于其正常位置进行定位...
    zx9426阅读 1,007评论 0 2
  • 对啊!我就是心思重。我喜欢什么事都提前去考虑,觉得不会让自己手忙脚乱。不过你们顺其自然的生活我也很羡慕啊!活得愉快呀!
    innerpeace0524阅读 234评论 0 0