关于绝对定位

CSS

*{padding:0;margin:0;}

.left{

position:absolute;

/*float:left;       */

width:30%;

min-height:200px;

background-color:#000;/*黑*/

}

.centen{

position:absolute;

/*float:right;         */

width:70%;

min-height:200px;

background-color:#0F0;/*青*/

}

.da{

position:absolute;

/*float:left;       */

width:20%;

min-height:200px;

background-color:#666;/*灰*/

}

HTML

<div class="left"></div>   ①

<div class="centen"></div>②

<div class="da"></div>③


当我们对三个div都设置了absolute定位时,三个盒子都脱离了文档流,其他元素就会忽视它们的存在去占据它们原有的位置,而由于它们都没有已经非static定位的父元素或祖元素,所以都一致以HTML为基准定位,(最先放置的div在最下面)这个时候如果我们想让他们做一些移动,使用以上灰色注释部分的代码是没有用的,因为浮动对已经绝对定位的元素是没有影响的。对于绝对定位元素,我们可以使用left、right、top、bottom进行绝对定位。怎么理解呢?假如我们想让灰色方块往右移动10px,我们可以为left盒子添加left:10px;属性。那么这个偏移量又是以什么为基准的呢?上面我们提到过祖元素,我们寻找当前的盒子是否有已经(relative、absolute、fiexd)定位的父元素,如果没有就一直往上追溯到有已经(relative、absolute、fiexd)定位的祖元素然后以该元素为基准进行自己的移动,如果都没有这样定位的父元素或祖元素,它就以html为基准移动。见下图

2016.3.20

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

推荐阅读更多精彩内容

  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 9,700评论 0 8
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,809评论 1 92
  • 1、垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,...
    kiddings阅读 3,205评论 0 11
  • 这是我的第五篇暑假补习英语系列文章 今天通过以下两个方面跟他们详细的讲述了,为什么前期一直这么无聊的学习《冰雪奇缘...
    藕者子阅读 285评论 0 0
  • 人生毫无意义,就像1加0等于1一样。若非要给人生的意义下一个定义,那就是为了得到快乐和幸福。无论你是多么富有或多么...
    瓦奥阅读 366评论 0 0