css position: absolute、relative详解
今天在看CSS的时候遇到了position: absolute、relative的问题,一直比较迷糊,今天终于搞清楚了。
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)定位对象在可视区域之外,滚动条不会出现。其 实对于定位的主要问题是要记住每个定位的意义。相对定位是“相对于“元素在文档流中初始位置的,而绝对定位是”相对于“最近的已经定位的祖先元素。
以下是补充:
虽然有知道css的绝对定位(absolute)、相对定位(relative),但却从未自己动手写过相关的效果!
忙活了一大半天,也算是完成了!也把这两个属性搞明白了一些!
相关推荐
外层没有position:absolute(或relative);那么div相对于浏览器定位,如下图中b(距离浏览器右边框为50像素,距离下边框为20像素)。 2.外层有position:absolute(或relative);那么div相对于外层边框定位,如...
《CSS position属性详解:absolute, relative及其他值》 在网页设计中,CSS(层叠样式表)的position属性是至关重要的,它决定了元素在页面上的布局方式。position属性有五个基本值:static、relative、absolute、...
### CSS之Position详解 在CSS布局中,`position`属性起着至关重要的作用。它用于定义元素如何在页面上定位,决定了元素是否会被其他元素所影响,或者它是否会覆盖其他元素。`position`属性共有四种取值:`relative`...
CSS中的`position: sticky`是一种混合定位方式,它结合了`relative`和`fixed`的特点。在页面滚动过程中,当元素距离其父元素达到设定阈值(如`top: 100px`)时,`position: sticky`会使元素变为固定定位,保持在屏幕...
《Position属性之relative用法详解》 在网页布局设计中,CSS(层叠样式表)的position属性扮演着至关重要的角色。本文将深入探讨position属性中的relative用法,帮助开发者更好地理解和运用这一特性。 首先,我们...
居中方式详解 在 Web 开发中,居中是一个常见的需求,尤其是在布局设计中。今天,我们将讨论居中的几种方式,包括使用绝对定位、transform、margin auto 等方法。 一、绝对定位的盒子居中 在 HTML 结构中,我们...
**CSS3垂直时间轴详解** 在网页设计中,时间轴是一种有效的展示信息的方式,它能够清晰地呈现一系列按时间顺序发生的事物。特别是在社交媒体、博客、项目管理等场景下,时间轴能帮助用户快速理解事件的发展脉络。...
position的含义是指定位类型,取值类型可以有:static、relative、absolute、fixed、inherit和sticky,这里sticky是CSS3新发布的一个属性。 1、position: static static(没有定位)是position的默认值,元素处于正常...
### CSS `position` 属性详解 #### 一、引言 在网页布局中,`position` 属性是非常重要的一个概念,它控制了元素在页面上的定位方式。通过不同的定位值,我们可以实现各种复杂的布局效果。本文将详细介绍 `...
如`javascript css styleFloat`、`javascript css float 属性的特别写法`、`CSS 中Float(浮动)相关技巧`、`javascript 下操作 css 的float 属性的特别写法`、`css position: absolute、relative详解`、`CSS 定位中...
### div的position属性详解 #### 一、流动模型(块元素与内联元素) 流动模型是CSS布局的基础,指的是在没有特别指定定位方式的情况下,元素按照文档流的自然顺序排列。 - **块元素**:默认情况下,每个块元素...
根据提供的文件信息,本文将详细解释如何通过使用CSS中的`display`属性与`position`属性来构建一个炫酷且实用的下拉菜单式分页导航条。此外,还将简要介绍部分VBScript代码的作用,这部分代码用于实现后端逻辑,如...
在CSS布局中,`position`属性是一个至关重要的概念,它决定了元素在页面上的定位方式。本文将详细解析`fixed`和`absolute`两种定位方式的区别,帮助你更好地理解和运用它们。 1. `fixed`固定定位: `fixed`定位是...
#### CSS Position属性详解 `position` 属性用于指定元素的定位类型,主要有以下几种: - **Static**:这是默认值,元素按照正常文档流进行布局。 - **Relative**:相对定位,元素相对于自身正常位置进行偏移,但...
### 前端布局-Position详解 #### 一、引言 在Web开发中,页面布局至关重要,良好的布局能够使网站既美观又实用。CSS提供了多种布局方式,其中相对定位(relative positioning)和绝对定位(absolute positioning)是...
在CSS布局中,子元素相对于父元素的固定定位是一个常见的需求,这主要涉及到CSS的定位机制,包括绝对定位和相对定位。本篇文章将详细解析如何实现这个目标。 首先,我们来回顾一下绝对定位(absolute)和相对定位...
### CSS 定位详解 #### 1. 定位概述 定位是CSS中一个非常重要的概念,它允许我们精确地控制元素在页面上的位置。在CSS中,元素可以通过以下几种方式进行定位:静态定位(static)、相对定位(relative)、绝对定位...
position: relative; width: auto; /* 自适应宽度 */ height: auto; /* 自适应高度 */ overflow: hidden; /* 隐藏溢出内容 */ } /* 左上角圆角 */ .box p:first-child { position: absolute; top: 0; left: ...