以下纯属资料引用。。。。省略1000.。。。
CSS2.0 HandBook上的解释:
设置此属性值为 absolute 会将对象拖离出正常的文档流绝对定位而不考虑它周围内容的布局。假如其他具有不同 z-index 属性的对象已经占据了给定的位置,他们之间不会相互影响,而会在同一位置层叠。此时对象不具有外补丁( margin ),但仍有内补丁( padding )和边框( border )。
要激活对象的绝对(absolute)定位,必须指定 left , right , top , bottom 属性中的至少一个,并且设置此属性值为 absolute 。否则上述属性会使用他们的默认值 auto ,这将导致对象遵从正常的HTML布局规则,在前一个对象之后立即被呈递。
TRBL属性(TOP、RIGHT、BOTTOM、LEFT)只有当设定了position属性才有效。
当设定position:absolute
如果父级(无限)没有设定position属性,那么当前的absolute则结合TRBL属性以浏览器左上角为原始点进行定位
如果父级(无限)设定position属性,那么当前的absolute则结合TRBL属性以父级(最近)的左上角为原始点进行定位。
当设定position: relative
则参照父级(最近)的内容区的左上角为原始点结合TRBL属性进行定位(或者说相对于被定位元素在父级内容区中的上一个元素进行偏移),无父级则以BODY 的左上角为原始点。相对定位是不能层叠的。在使用相对定位时,无论元素是否进行移动,元素依然占据原来的空间。因此,移动元素会导致它覆盖其他框。
一般来讲,网页居中的话用Absolute就容易出错,因为网页一直是随着分辨率的大小自动适应的,而Absolute则会以浏览器的左上角为原始点,不会应为分辨率的变化而变化位置。有时还需要依靠z-index来设定容器的上下关系,数值越大越在最上面,数值范围是自然数。当然有一点要注意,父子关系是无法用z-index来设定上下关系的,一定是子级在上父级在下。
设置此属性值为 relative 会保持对象在正常的HTML流中,但是它的位置可以根据它的前一个对象进行偏移。在相对(relative)定位对象之后的文本或对象占有他们自己的空间而不会覆盖被定位对象的自然空间。与此不同的,在绝对(absolute)定位对象之后的文本或对象在被定位对象被拖离正常文档流之前会占有它的自然空间。放置绝对(absolute)定位对象在可视区域之外会导致滚动条出现。而放置相对(relative)定位对象在可视区域之外,滚动条不会出现。其实对于定位的主要问题是要记住每个定位的意义。相对定位是“相对于“元素在文档流中初始位置的,而绝对定位是”相对于“最近的已经定位的祖先元素。
分享到:
相关推荐
`relative`定位意味着元素相对其正常位置进行定位。当设置`top`, `bottom`, `left`, `right`这些偏移量时,元素会在其正常流中的位置基础上移动,但不影响其他元素的位置。这意味着,即使`relative`元素发生了位移,...
关于 position、absolute、relative 层叠加的技巧 Position 属性是 CSS 中的一种布局方式,用于控制元素在文档中的位置。Position 属性有五个值:static、relative、absolute、fixed 和 inherit。其中,static 是...
absolute让元素完全脱离文档流并相对于最近的已定位祖先元素(或者初始包含块)进行定位,而relative则让元素保持在文档流中,但允许使用偏移属性进行相对定位。正确使用这两个属性,可以帮助我们实现复杂的页面布局...
今天在写一个购物车里面选择发货地址的部分时,多个收货地址用到了UL标签,由于每个地址的后面有个“修改地址”的功能,而且位于li标签的右边,于是就用到了,position:absolute; right:10px;这样把“修改地址”...
由于`div#demo`是相对定位,`div#sub`的绝对定位就会基于`div#demo`,而不是整个文档流。 了解这些基本的定位概念后,你可以更灵活地控制网页元素的布局。在实际的网页设计和开发中,`position`属性的运用是非常...
然而,需要注意的是,`position:relative`可能会改变元素的大小计算方式,尤其是在与`absolute`或`fixed`定位的子元素一起使用时。如果父元素设置了`position:relative`,并且有绝对定位的子元素,那么子元素的定位...
使用 position: relative 定位父元素,position: absolute 定位子元素时,子元素将相对于父元素进行定位。例如: ```html <div id="div-1a">this is div-1a element. ``` ```css #div-1 { position: relative;...
绝对定位允许一个元素相对于其最近的非静态定位祖先元素(即position属性值为relative、absolute或fixed的元素)进行定位。如果找不到这样的祖先,那么元素将相对于文档的body进行定位。使用`position: absolute;`来...
`position`属性用于定义元素的定位模式,它有多种值,如`static`(默认值)、`relative`、`absolute`、`fixed`和`sticky`。当`position`设置为`relative`时,元素保持其正常流中的位置,但可以通过`top`和`left`等...
- **position:relative**:相对定位。元素相对于其正常位置进行定位,即相对于自身原来的位置偏移,不会脱离标准文档流,不影响其他元素布局。 - **position:absolute**:绝对定位。元素相对于最近的已定位祖先元素...
外层没有position:absolute(或relative);那么div相对于浏览器定位,如下图中b(距离浏览器右边框为50像素,距离下边框为20像素)。 2.外层有position:absolute(或relative);那么div相对于外层边框定位,如...
在网页设计和开发中,定位(Positioning)是布局的关键元素,主要分为两种类型:相对定位(Relative Positioning)和绝对定位(Absolute Positioning)。这两种定位方式都是CSS(层叠样式表,Cascading Style Sheets...
本篇文章主要探讨了`div`中的相对定位(`relative`)与绝对定位(`absolute`)的区别及其应用。 1. 相对定位(`position: relative;`) 相对定位保留了元素在正常文档流中的位置,元素的原始位置不会被改变,但它...
当`position`的值设为`absolute`时,元素就进入了绝对定位模式。此时,元素将从正常文档流中移除,不再影响周围元素的布局。相反,它会相对于最近的已定位祖先元素(即拥有非`static`定位的父元素,如`relative`、`...
但当我们将`position`设置为`relative`或`absolute`时,元素的定位模式会发生变化。 1. **相对定位(relative):** 当`position`设为`relative`时,元素保持其在正常文档流中的位置,但我们可以使用`top`、`...
本文主要讨论的是CSS中的两种定位方式:相对定位和绝对定位,特别是在`div`元素中的应用。 1. 相对定位(relative) 相对定位允许元素相对于其原本在正常文档流中的位置进行偏移。当对一个元素设置`position: ...
relative:生成相对定位的元素,相对于其正常位置举行定位。 从定义中,我们可以看到,absolute 和 relative 都是生成定位的元素,但它们的定位方式不同。absolute 是相对于 static 定位以外的第一个父元素举行定位...
3. **子父级关系与定位**: 在绝对定位中,元素的位置通常会相对于最近的定位父元素。这就是为什么理解子父级关系至关重要。如果父元素被设置为相对定位,那么它的子元素可以使用绝对定位,这样子元素的位置就会相...
本文件主要探讨了`position`属性的两个关键值:`relative`和`absolute`,这些知识点对于创建复杂的网页布局至关重要。 首先,我们来了解`position: relative;`。这个值表示元素是相对定位的。当一个元素的`position...