css中relative使用

    在css中有一个具有强大能力的定位,那就是css属性absolute,为了让其达到我们预想的那样,我们需要对absolute进行限制,今天就谈谈相对定位relative。

1.对top/left/right/bottom的限制定位。

  css规范说,absolute相对定位的是他的最近祖先元素,当没有relative的时候,自然以html为祖先元素,定位top/left之类的相对html进行定位,而当父级元素设置relative的时候,子元素就会被包裹在父级节点内。

2.限制层级。

  (1)当未设置z-index的时候,元素层级是根据dom节点的顺序来排列的,后面覆盖前面。

  (2)当absolute存在的时候,父级无relative的时候,根据absolute设置的z-index来分层,z-index大的在上面。

  (3)父级为relative的时候,并且z-index为auto即不设置,内容是absolute,内容的层级是和子元素的z-index有关。

  (4)当父级为relative的时候,并且z-index不为auto的时候,内容设置absolute属性,此时子元素设置z-index无效,是根据父元素的z-index属性来确定层级的。

3.让absolute在overflow下不固定

  absolute在overflow:hidden中,是不会根据鼠标的滑轮滑动来更改位置的,而当对拥有absolute的子元素给他的父元素添加position:relative的话,此时absolute将不在矫情,跟着滑轮走了。

4.占据原来位置

  当对有relative属性的元素添加top:30px,本身将会上移30px,而下面的元素不会跟着向上移动30px,而是把30px给空出来,这就是relative的不脱离文档流,并且占据位置。当设置margin-top的时候,下面元素会跟上去。

个人见解,欢迎指正。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,816评论 1 92
  • 之前介绍过CSS浮动float详解,本篇介绍的绝对定位absolute和浮动float有部分相似性。如果能理解浮动...
    张歆琳阅读 96,751评论 39 192
  • CSS 定位 CSS有三种基本的定位机制:普通流,浮动,绝对定位(absolute, fixed):普通流是默认定...
    _空空阅读 5,851评论 0 15
  • relative:生成相对定位的元素,通过top,bottom,left,right的位置相对于其正常位置进行定位...
    zx9426阅读 977评论 0 2
  • 亲,你还想成为一个让别人在心中敬佩的人么 外面的雨淅淅沥沥,听不到声音,隔着窗户看窗外摇曳的绿树和跌落到玻璃上的水...
    锦小鲤阅读 448评论 0 3