美文网首页
定位 position

定位 position

作者: iamlmx21 | 来源:发表于2016-12-01 10:40 被阅读0次

    position 属性有 4个值

    static 、 relative 、 absolute 、fixed ,默认值为 static 。只有将元素的 position 属性设定为relative 、 absolute 或 fixed ,元素的 top 、 right 、 bottom 和 left 属性才会起作用。

    1、 静态定位static

    在静态定位的情况下,每个元素在处在常规文档流中。它们都是块级元素,所以就会在页面中自上而下地堆叠起来。

    2、相对定位relative

    相对的是它原来在文档流中的位置(或者默认位置),使用 top 、 right 、bottom 和 left 属性来改变它的位置,但多数情况下,只用 top 和 left 就可以实现我们想要的效果。元素自己相对于原始位置挪动了一下之外,页面没有发生任何变化。换句话说,这个元素原来占据的空间没有动,其他
    元素也没动。

    {
        position:relative; top:25px; left:30px;
    }
    

    3、绝对定位absolute

    绝对定位会把元素彻底从文档流中拿出来。绝对定位的元素完全脱离了常规文档流,它现在是相对于顶级元素 body 在定位。绝对定位元素默认的定位上下文是 body 元素。所以在页面滚动的时候,为了维护与 body元素的相对位置关系,它也会相应地移动。

    {
        position:absolute; top:25px; left:30px;
    }
    

    4、固定定位fixed

    从完全移出文档流的角度说,固定定位与绝对定位类似。但不同之处在于,固定定位元素的定位上下文是视口(浏览器窗口或手持设备的屏幕),因此它不会随页面滚动而移动。固定定位并不常用,最常见的情况是用它创建不随页面滚动而移动的导航元素。

    {
        position:fixed; top:30px; left:20px;
    }
    

    5、定位上下文

    把元素的 position 属性设定为 relative 、 absolute 或 fixed 后,继而可以使用 top 、right 、 bottom 和 left 属性,相对于另一个元素移动该元素的位置。这里的“另一个元素”,就是该元素的定位上下文。
    绝对定位元素默认的定位上下文是 body 。这是因为body 是标记中所有元素唯一的祖先元素。而实际上,绝对定位元素的任何祖先元素都可以成为它的定位上下文,只要你把相应祖先元素的 position 设定为 relative 即可。

    • html
    <body>
        <div id="outer">
            <div id="inner">This is text...</div>
        </div>
    </body>
    
    • css
    div#outer {
        position:relative; 
        width:250px; 
        margin:50px 40px; 
        border-top:3px solid red;
    }
    div#inner {
        position:absolute; 
        tetop:10px;
        left:20px; 
        background:#ccc;
    }
    

    相关文章

      网友评论

          本文标题:定位 position

          本文链接:https://www.haomeiwen.com/subject/hxjxmttx.html