`
sdustyongz
  • 浏览: 85678 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

理解 position:relative 与 position:absolute

PHP 
阅读更多
(转自:http://www.happyshow.org/view.php?id=125)
position 有三个值,static(静态)、relative(相对)、absolute(绝对);由于static是所有页面元素的默认值,因此设置元素的定位类型时几乎不用这个值,除非用于覆盖之前的定义。
对于后两者,一般应用:在一个相对定位的元素里面放置一个绝对定位的元素,如图:

子元素B可以通过top、right、bottom、left来精确定位,定位的参考目标就是其具有相对定位属性的父级元素A;并且设置这些偏移后,产生的空隙会被后面的元素填充(如果后面的元素足够尺寸的话)。由于B元素具有absolute定位属性,相当于从文档流中抽取出来,浮动在原平面排版上,形成“层”,如果有多个“层”,层与层之间就必然会有谁覆盖谁,谁在上谁在下的竞争关系,因此,为解决这个竞争,就产生了 z-index(空间坐标系的Z轴) 属性,谁的值大,谁就在上面。另外,如果父级元素A没有设置relative,那么B元素就会以body标签当作参考点。

对于具有position:relative属性的元素A,其top、right、bottom、left四个方向的位置偏移就会以该元素的原来位置作为参考点,而不是像上面说的,以具有relative定位属性的父级元素或body作为参考点。在设置了偏移后产生了空隙,其周围的元素并不会填充这些空隙,即使它们足够尺寸(演示)。值得注意的是,此时元素A的margin,margin将作用于该元素的原来位置,由于原位置产生偏移,该元素的最终位置将是margin与top、right、bottom、left共同作用后的位置,并且其周围元素的位置也将产生影响。

回过头来再看看 relative 里面的 absolute,比如上面的A、B两个元素,如果两个元素都设置了top、right、bottom、left,对于元素B来说,其位置偏移的参考点是元素A偏移后的位置,不是元素A的原位置,同样,如果元素B有margin,其参考点也是元素A偏移后的位置,这点很重要,这才是absolute的概念(演示)。
分享到:
评论

相关推荐

    CSS中的position:relative;的作用示例介绍

    引用 static : 无特殊定位,对象遵循HTML定位规则 absolute : 将对象从文档流..."对于页面中一个static的div#demo,我想让这个#demo里的一个div#sub相对于#demo定位在右上角的某个地方,应该是用这个position:relative

    li标签的position:absolute与relative案例应用

    今天在写一个购物车里面选择发货地址的部分时,多个收货地址用到了UL标签,由于每个地址的后面有个“修改地址”的功能,而且位于li标签的右边,于是就用到了,position:absolute; right:10px;这样把“修改地址”...

    position:relative/absolute无法冲破的等级

    position:relative/absolute无法冲破的等级

    CSS中的position 的值: absolute 与 relative

    NULL 博文链接:https://rainbow702.iteye.com/blog/1703317

    ie6下position:absolute不显示问题解决方法

    position:absolute属性在其他浏览器中都是正常的,但惟独在ie6下有问题,下面是经过测试可行的解决方法

    关于position、absolute、relative层叠加的技巧

    详细讲解heml中position、absolute、relative层叠加的技巧

    css position: absolute、relative详解

    今天在看CSS的时候遇到了position: absolute、relative的问题,一直比较迷糊,今天终于搞清楚了。

    IE7 position:relative的问题

    回想在网上看过的一篇文档,大意就是,如果在IE7中使用position:relative属性,需要在该元素的容器上,同时给予position:relative属性。 我给了。大按钮上的链接都恢复了。但是”css”"js”"seo”3个小按钮上没有...

    position的relative和absolute总结

    对position的属性relative和absolute的总结

    页脚显示在页面底端的布局方法

    页脚显示在页面底端的布局方法 ... padding:0px; height:100%;} body{ margin:0px; padding:0px;height:100%;} .body{ position:relative; min-height:100%;... position:absolute; bottom:0px;} </style>

    JQuery和html+css实现带小圆点和左右按钮的轮播图实例

    是的!你没看错!还是轮播图。这次的JQuery的哟!! CSS代码: /*轮播图 左右按钮 小白... position:relative; } .img_box img{ width:100%; position:absolute; } .ul5{ list-style: none; position:absolute

    CSS使用position:sticky 实现粘性布局的方法

    position: relative; position: absolute; position: fixed; } 在https://developer.mozilla.org/zh-CN/docs/Web/CSS/position还说了下面这三个值: /* 全局值 */ position: inherit; position: initial; position:...

    pic_slide.rar

    position:relative} .pic_lists{float:left;width:8888px;height:106px;overflow:hidden;position:absolute;top:0px;left:0px} .btn_change{width:40px;height:60px;position:absolute;text-indent:-9999px;cursor:...

    IE6 CSS高度height:100% 计算失效/无效

    样式复制代码代码如下:#demo{position:relative;width:300px;border:1px solid #090;}#demo div{position:absolute;width:200px;height:100%;background-color:#f00;} 结构 复制代码代码如下:”demo”> <div>...

    scrollbar_js实现竖向滚动条

    .box-163css{position:relative;height:330px;border:solid 1px #ddd;width:600px;margin:20px auto;} .picul{ width:100%; float:left;} .picul li{ width:115px; height:115px; float:left; margin:0 7px 25px 7px...

    div的position属性

    Relative与Absolute组合使用 小伙伴们学习了12-6小节的绝对定位的方法:使用position:absolute可以实现被设置元素相对于浏览器(body)设置定位以后,大家有没有想过可不可以相对于其它元素进行定位呢?答案是肯定的...

    JQuery+CSS实现图片上放置按钮的方法

    position:relative日常应用的时候一般是设置给position:absolute;的父层的, 父层position:relative; 子层position:absolute;的话, 就是依照父层的边界进行定位的, 不然position:absolute 会逐层向上寻找设置了...

    CSS完美解决前端图片变形问题的方法

    在头条IT学堂看到CSS完美解决前端图片变形问题的文章,就记录分享下: 一、让图片的宽度或者高度等于容器... position: relative; } img{ width: 100%; position: absolute; top: 50%; left: 50%; transform: tra

Global site tag (gtag.js) - Google Analytics