<转>定位position详解:relative与absolute

定位标签:position

包含属性:relative(相对)

absolute(绝对)

1.position:relative; 如果对一个元素进行相对定位,首先它将出现在它所在的位置上。然后通过设置垂直或水平位置,让这个元素"相对于"它的原始起点进行移动。(再一点,相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其他框)

相对定位:relative 没有脱离正常的文档流,被设置元素相对于其原始位置而进行定位,其原始占位信息仍存在

2.position:absolute; 表示绝对定位,位置将依据浏览器左上角开始计算。 绝对定位使元素脱离文档流,因此不占据空间。普通文档流中元素的布局就像绝对定位的元素不存在时一样。(因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其他元素并可以通过z-index来控制它层级次序。z-index的值越高,它显示的越在上层。)

绝对定位:ablution 脱离了文档流与浮动模型,独立于其他对象而存在,没有占位。

3.父容器使用相对定位,子元素使用绝对定位后,这样子元素的位置不再相对于浏览器左上角,而是相对于父窗口左上角

下面具体案例说明:

1。若c嵌套在b中,且b,c均是相对定位,则c的相对定位是相对于b而言的,b保留占位信息,且b中保留c的占位信息。

2。若c嵌套在b中,b进行绝对定位,c进行相对定位,则b脱离浮动,没有占位信息,而c相对b定位,并在b中发生占位。

3。若a,b,c,d并列,且都嵌套在id为group的div中,且:

#group{potision:relative;height:200px;width:4oopx;}         #b{potision:absolute;left:20px;top:20px;}

在这种方式下,父级元素是相对定位,但没有设定left,top的值,可以将其看做是浮动对象,而b是绝对定位,因而不占位,但由于父级元素是相对定位,所以这里的绝对定位变成了相对于父级元素的绝对定位,而不是相对于浏览器的。

例如:

<div id="main">

<div id="a">aaaaaaaaaa</div>

<div id="b">bbbbbbbb</div>

</div>

(1)若给a设置position:absolute,会使a脱离正常的文档流,a会不占位,即b不再基于a,而是直接从parent开始定位。(b位置和没有a一样)。

若给a设置position:relative,(没有脱离文档流)则a会占位,a相对于他的原始位置进行定位,看上去是浮在main上的,而b会按原来的方式进行排列,不受a的影响。(b的位置和a没有position属性时一样)

(2)若给main设置position:relative/absolute;则里面的a或b的绝对定位或相对定位都是相对于父级元素main的,之后后再按照相对或绝对的方法进行定位

注意:若父级元素没有设定有效的宽高值,则b是相对于group中最后一个元素的右上角进行绝对定位父级元素要设置宽高!!!!!!

时间: 2024-10-06 23:25:29

<转>定位position详解:relative与absolute的相关文章

定位position详解:relative与absolute

定位标签:position 包含属性:relative(相对) absolute(绝对) 1.position:relative; 如果对一个元素进行相对定位,首先它将出现在它所在的位置上.然后通过设置垂直或水平位置,让这个元素”相对于”它的原始起点进行移动.(再一点,相对定位时,无论是否进行移动,元素仍然占据原来的空间.因此,移动元素会导致它覆盖其他框) 相对定位:relative 没有脱离正常的文档流,被设置元素相对于其原始位置而进行定位,其原始占位信息仍存在 2.position:abso

div+css定位position详解

div+css定位position详解 1.div+css中的定位position 最主要的两个属性:属性 absolute(绝对定位) relative(相对定位),有他们才造就了div+css布局的多样性,让我们的网页丰富多彩起来. 首先解释relative(相对定位),顾名思义,定位是相对的,那他是相对于什么呢?参照物是什么? 看如下代码: 2 2.预览效果,现在是三个并列的div 3 3.给中间的div增加定位属性:position:relative; top:10px; left:10

CSS中position详解与常见应用实现

在web前台开发时候,我们必不可少的会用到postion属性进行布局定位.今天总结了一下position知识点,与常用功能与大家分享,欢迎大家交流指正. 首先我们对postion属性进行详解. 在CSS3中,对于postion是这么描述的 总结如下:static 是默认布局,设置top\left..属性不会有作用.relative是相对布局,设置的top\left..会相对文件中的控件.absolute是绝对定位,设置的top\left..会相对整个页面而定.fixed是相对浏览器窗口定位,设置

CSS之Position详解

大家可以通过谷歌浏览器以网易网站做为范例,通过网站顶部的导航菜单栏来查看relative和aboulute的区别 CSS的很多其他属性大多容易理解,比如字体,文本,背景等.有些CSS书籍也会对 这些简单的属性进行大张旗鼓的介绍,而偏偏忽略了对一些难缠的属性讲解,有避重就轻的嫌疑.CSS中主要难以理解的属性包括盒型结构,以及定位.正如 positioniseverything,本文将主要讲述关于position的理解,力求让您看完本文后对position有着最全面的认识. position的四个属

Position详解---转

position有四个属性值: relative absolute fixed static 下面分别讲述这四个属性. 1. relative relative属性,相对定位,我们要搞清它是相对哪个对象来进行偏移的.答案是它本身的位置.relative的偏移是基于对象的margin的左上侧的.但是这货又比margin更为强大,如果单独使用这个属性的时候,一般情况下,你可以把这货看成是全能的margin,因为它可以在display:inline的时候起作用,这点上margin值的上下边距就不起作用

定位的详解

一.定位的分类: 1.相对定位 position:relative; 2.绝对定位 position:absolute; 3.固定定位 position:fixed; 相对定位: 1.参考点:自己 2.不脱离标准文档流,老家留坑,形影分离 3.用途:微调元素,做绝对定位的参考(子绝父相) 注意:要学会计算盒子的实际高度和宽度 绝对定位: 绝对定位脱标 参考点                                                                      

(转)CSS之Position详解

原文链接:http://www.cnblogs.com/Zigzag/archive/2009/02/19/position.html position设定为relative:divSan定位点是divFather内容区域左上角,即divFather的padding内边界开始,而非divFather的padding的左上角. position设定为absolute分两种情况: 1.divSan的divFather设定了position divSan定位点是divFather的padding区域左

xpath定位方法详解

1.xpath较复杂的定位方法: 现在要引用id为“J_password”的input元素,可以像下面这样写: WebElement password = driver.findElement(By.xpath("//*[@id='J_login_form']/dl/dt/input[@id='J_password']")); 其中//*[@id=’ J_login_form’]这一段是指在根元素下查找任意id为J_login_form的元素,此时相当于引用到了form元素.后面的路径

Kooboo CMS - Html.FrontHtml.Position 详解

DataContract 数据契约 http://www.cnblogs.com/Gavinzhao/archive/2010/06/01/1748736.html https://msdn.microsoft.com/zh-cn/library/system.runtime.serialization.datacontractattribute.aspx Html.FrontHtml.Position("main") 详解 1.首先我们打开工程文件,在搜索框里写上FrontHtml查