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的时候,下面元素会跟上去。

个人见解,欢迎指正。

    原文作者:Bennt
    原文地址: https://www.jianshu.com/p/e55b58d296f2
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞