定位 position

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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,693评论 1 92
  • 定位:position 概念:把一元素放置到需要放的网页位置; 属性值:static、relative、absol...
    魔_术师阅读 3,294评论 0 1
  • 建议学习时长: 30分钟学习方式:了解 学习目标 知道如何用positon进行布局。 知道定位布局的使用场景。 知...
    知行社阅读 4,513评论 0 2
  • 在html中网页可以看成一个立体的空间,一个完整的页面是由很多个页面堆积形成的,如下图所示 CSS中Positio...
    蠢淡淡不蠢阅读 3,619评论 0 0
  • “路华,吃罢饭准你一天假回去看看吧!”队长把之前给他请假,没准假的路华叫到跟前。 “几年没回家了?” “三年了!”...
    梓平_4361阅读 921评论 0 0

友情链接更多精彩内容