首页 web前端 css教程 css position: absolute、relative详解_经验交流

css position: absolute、relative详解_经验交流

May 16, 2016 pm 12:04 PM
css position

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:relative;样式

此层只应用position:absolute;样式

不应用样式






1、absolute:不占位、relative:有占位!

如上层结构:

id为rel的层在显示时,会占用一行!其后面的abs层只会在下一行显示出来!
id为abs的层在显示时,会与后面id为sss的重叠在一起!

2、默认情况下(不结合top等来定位),absolute(绝对定位)以父层来定位的
如上面的id为abs的层,如果不结合top等来定位,则其显示位置会随父级posi层(posi在文档左下角,其也会在左下角)

3、在结合top、bottom、right、left等属性时,absolute(绝对定位)以窗口做为定位,relative以自身的占位为基线做偏移!如下:





不应用样式

此层应用position:relative;bottom:30px;样式

此层只应用position:absolute;bottom:30px;样式






以上代码:
id为rel的层会上移并与id为sss的层重叠
id为abs的层会以窗口为基线,移至距离窗口30像素的位置!

4、在结合top、bottom、right、left等属性时,如果想absolute(绝对定位)能以父层做为定位基线的话,则在父层应用absolute或relativ属性就可以!如下:





此层应用position:relative;bottom:30px;样式

此层只应用position:absolute;bottom:30px;样式






以上代码:id为posi的层,也可以用absolute属性!
id为rel的层,不受影响,以自身的占位为基线做偏移!

id为abs的层是以id为posi层的底边做为定位基线,如果此时posi层的高度小于30px的话,abs层可能没办法看到哦!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
两个点博物馆:所有展览以及在哪里可以找到它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何在网页上使用本地安装的'荆南麦圆体”并解决显示问题? 如何在网页上使用本地安装的'荆南麦圆体”并解决显示问题? Apr 05, 2025 pm 02:06 PM

在网页上如何使用本地安装的字体文件在网页开发中,用户可能会希望使用自己电脑上安装的特定字体来增强网...

CSS垂直外边距合并到底是怎么回事? CSS垂直外边距合并到底是怎么回事? Apr 05, 2025 am 09:12 AM

深入理解CSS垂直外边距合并在CSS样式设计中,垂直外边距合并是一个经常被遇到的问题,它指的是相邻块级元素...

Element-UI水平菜单el-menu在PC端和移动端如何适配及调整标签大小? Element-UI水平菜单el-menu在PC端和移动端如何适配及调整标签大小? Apr 05, 2025 am 10:12 AM

Element-UI菜单组件el-menu的适配问题及标签大小调整在使用Element-UI框架开发过程中,el-menu组件的灵活性和易用性�...

Element-UI el-menu组件:如何调整菜单标签大小并在不同模式下控制子菜单显示? Element-UI el-menu组件:如何调整菜单标签大小并在不同模式下控制子菜单显示? Apr 05, 2025 am 10:36 AM

Element-UI菜单组件el-menu的标签大小调整及mode属性下的行为差异本文将针对Element-UI框架中el-menu组件在不同mode模式...

如何使用CSS实现背景色从左到右过渡并从上到下逐渐变浅的渐变效果? 如何使用CSS实现背景色从左到右过渡并从上到下逐渐变浅的渐变效果? Apr 05, 2025 pm 12:57 PM

CSS渐变色效果实现:从上到下渐变的背景色在网页设计中,如何实现搜索框与轮播图下的背景色从左到右过渡的...

如何通过CSS自定义调整大小符号以匹配背景色? 如何通过CSS自定义调整大小符号以匹配背景色? Apr 05, 2025 pm 02:09 PM

如何使用CSS自定义调整大小符号以匹配背景色?在网页设计中,用户体验的细节往往能显着提升整体效果。例如...

如何解决JavaScript动态设置元素为fixed导致的页面抖动问题? 如何解决JavaScript动态设置元素为fixed导致的页面抖动问题? Apr 05, 2025 am 11:39 AM

如何解决JS动态设置元素为fixed导致的页面抖动问题在使用JavaScript动态设置元素为fixed时,有时会遇到页面抖动�...

固定宽度布局下,字体大小和字母宽度究竟有何关系? 固定宽度布局下,字体大小和字母宽度究竟有何关系? Apr 05, 2025 pm 12:51 PM

固定宽度布局下,字体大小与字母宽度的微妙关系在进行网页设计时,我们经常会遇到需要在固定宽度容器内排...

See all articles