详解CSS相对定位,绝对定位与固定定位

CSS定位详解:相对定位、绝对定位、固定定位与 z-index 本文主要介绍了定位相关内容,包括相对定位、绝对定位、固定定位以及 z-index。这些定位方式在网页布局中起着重要作用,能够帮助开发者更精准地控制元素的位置,实现丰富多样的页面效果。 阅读详情
CSS定位一直是WEB标准应用中的难点,如果理不清楚定位那么可能应实现的效果实现不了,实现了的效果可能会走样。如果理清了定位的原理,那定位会让网页实现的更加完美。
    定位的定义:

    在CSS中关于定位的内容是:
position:relative | absolute | static | fixed
    static(静态) 没有特别的设定,遵循基本的定位规定,不能通过z-index进行层次分级。
    relative(相对定位) 对象不可层叠、不脱离文档流,参考自身静态位置通过 top,bottom,left,right 定位,并且可以通过z-index进行层次分级。
    absolute(绝对定位) 脱离文档流,通过 top,bottom,left,right 定位。选取其最近一个最有定位设置的父级对象进行绝对定位,如果对象的父级没有设置定位属性,absolute元素将以body坐标原点进行定位,可以通过z-index进行层次分级。
    fixed(固定定位) 这里所固定的参照对像是可视窗口而并非是body或是父级元素。可通过z-index进行层次分级。
注:
CSS中定位的层叠分级:z-index: auto | namber;

auto
遵从其父对象的定位
namber  无单位的整数值。可为负数
定位的原理:

1.可以位移的元素 (相对定位)

  在本文流中,任何一个元素都被文本流所限制了自身的位置,但是通过CSS我们依然使得这些元素可以改变自己的位置,我们可以通过float来让元素浮动,也可以通过margin来让元素产生位置移动。但事实上那并非是真实的位移,因为,那只是通过加大margin值来实现的障眼法。而真正意义上的位移是通过top,right,bottom,left(下称TRBL,TRBL可以折分使用。)针对一个相对定位的元素所产生的。我们看下面的图:


我们看图中是一个相对定位的元素
#first {
width:200px;
height: 50px;
margin:25px;
border:25px solid #333;
padding:25px;
position:relative;
top: 50px;
left: 50px;
}
而下方是一块默认定位的黑色区块
#second {
width:400px;
height:75px;
margin:0;
border:0;
padding:0;
backgroud-color:#333;
}
    我们看到这个处在文本流的区块被上面的相对定位挡住了一部分,这说明:“当元素被设置相对定位或是绝对定位后,将自动产生层叠,他们的层叠级别自然的高于文本流”。除非设置其z-index值为负值。并且我们发现当相对定位元素进行位移后,表现内容已经脱离了文本流,只是在本文流中还为原来的相对对定位留下了原有的总宽与总高(内容的高度或是宽度加上 margin\border\padding的数值)。这说明在相对定位中,虽然表现区脱离了原来的文本流,但是在文本流中还还有此相对定位的老窩。这点要特别注意,因为在实际应用中如果相对定位的位移数值过大,那么原有的区域就会形成一块空白。
    并且我们注意,定位元素的坐标点是在margin值的左上边缘点,即图中的B点。那么所有的位移的计算将以这个点为基础进行元素的推动。
2.可以在任意一个位置的元素(绝对定位)

    如上所述:相对定位只可以在文本流中进行位置的上下左右的移动,同样存在一定的局限性,虽然他的表现区脱离了文本流,但是在文本流却依然为其保留了一席之地,这就好比一个打工的人他到了外地,但是在老家依然有一个专属于他的位置,这个位置不随他的移动而改变。但是这样很明显就会空出一块空白来,如果希望文本流抛弃这个部分就需要用到绝对定位。绝对定位不光脱离了文本流,而且在文本流中也不会给这个绝对定位元素留下专属空位。这就好比是一个工厂里的职位,如果有一个工人走了自然会要有别的工人来填充这个位置。而移动出去的部分自然也就成为了自由体。绝对定位将可以通过TRBL来设置元素,使之处在任何一个位置。在父层position属性为默认值时,TRBL的坐标原点以body的坐标原点为起始。看下图:


   上图可知,文本流中的内容会顶替绝对定位无素的位置,一点都不会客气。而绝对定位元素自然的层叠于文本流之上。而在单一的绝对定位中,定位元素将会跑到网页的左上角,因为那里是他们的被绝对定位后的坐标原点。
3.被关联的绝对定位

   上面说的是单一的绝对定位,而在实际的应用中我们常常会需要用到一种特别的形式。即希望定位元素要有绝对定位的特性,但是又希望绝对定位的坐标原点可以固定在网页中的某一个点,当这个点被移动时绝对位定元素能保证相对于这个原坐标的相对位置。也就是说需要这个绝对定位要跟着网页移动,而并且是因定在网页的某一个固定位置。通常当网页是居中形式的时候这种效果就会显得特别的重要。要实现这种效果基本方式就是为这个绝对定位的父级设置为相对定位或是绝对定位。那么绝对定位的坐标就会以父级为坐标起始点。

虽然是如此,但是这个坐标原点却并不是父级的坐标原点,这是一个很奇怪的坐标位置。我们看一下模型图示:


我们看到,这个图中父级为黑灰色区块,子级为青色区块。父级是相对定位,子级是绝对定位。子级设置了顶部位移50个像素,左倾位移50个像素。那么我们看,子级的坐标原点并不是从父级的坐标原点位移50个像素,而是从父级块的padding左上边缘点为坐标起始点(即A 点)。而父级这里如果要产生位置移动,或是浏览器窗口大小有所变动都不会影响到这个绝对定位元素与父级的相对定位元素之间的位置关系。这个子级也不用调整数值。

这是一种很特别并且也是非常实用的应用方式。如果你之前对于定位的控制并不自如的话,相信看完对这里对定位的解释一定可以把定位使用得随心所欲。

4.总在视线里的元素 (固定定位)

    position:fixed; 他的含义就是:固定定位。这个固定与绝对定位很像,唯一不同的是绝对定位是被固定在网页中的某一个位置,而固定定位则是固定在浏览器的视框位置。

一文读懂css【css3】绝对(absolute)定位和相对(relative)定位 相对定位是相对谁定位的 绝对定位又是根据谁绝对定位的 子绝父相 包含块 我们在开发的过程中,经常会使用到相对定位和绝对定位,但我们有时对这两个定位不是很熟悉,往往会弄混,分不清什么是相对定位,什么又是绝对定位。那么,这篇文章便详细解说他们的区别。相对定位是元素相对其起始位置的定位,那么什么是起始位置呢?绝对定位是相对包含块来定位的,那么,那么什么又是包含块?我们清楚,绝对定位有子绝父相这个词,那么,它是什么意思呢?这里的所有疑问,都会在这篇文章中,讲的非常清楚... 阅读详情

相关推荐

内存管理(二)——内存分段

内存分段

weixin_43844995的博客 2693

详解定位与定位应用

定位一直是WEB标准应用中的难点,如果理不清楚定位那么可能应实现的效果实现不了,实现了的效果可能会走样。如果理清了定位的原理,那定位会让网页实现的更加完美。 定位的定义: 在CSS中关于定位的内容是: position:relative | absolute | static | fixed static(静态) 没有特别的设定,遵循基本的定位规定,不能通过z-inde...

weixin_33762130的博客 249

从零构建:STM32与EC800 4G模块的工业物联网数据透传实战

本文详细介绍了如何从零构建STM32与EC800 4G模块的工业物联网数据透传系统。内容涵盖硬件选型、抗干扰电路设计、AT指令稳定性优化、网络连接管理、可靠数据透传协议以及低功耗策略,为开发者提供了一套可直接应用于工业场景的完整实战方案。

uran的专栏 1014

relative相对于谁定位_CSS四种定位方式的详解

CSS布局的四种定位方式1、static(静态定位):默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。参考上篇随笔。2、relative(相对定位):定位为relative的元素脱离正常的文档流,但其在文档流中的位置依然存在,只是视觉上相对原来的位置有移动。通过top,bottom,left,right的设置相对于其正常...

weixin_42118056的博客 4951

我用两个月时间,终于把优快云付费资源项目玩明白了!

关于项目的定位,这是一个知识付费项目,根据市场研究机构的数据显示,到2023年,全球知识付费市场规模将达到2000亿美元,所以说知识付费的前景是十分广阔的,当下互联网时代信息大爆炸,80后、90后、00后群体对知识付费的认可度也大幅提升,同时这群作为知识付费的主流人群已经具备了更强的消费能力,而且对于知识付费的需求更高。目前整个知识付费领域仍然在发展起步的初期,尽快在知识付费领域布局可以帮助我们在这波红利中获得一份不错的收益。而且个人认为,

白话机器学习 2万+

Simulink开发项1000例实战专栏--实例17:基于 Simulink 的 BLDC 电机驱动系统的设计与实现

项目背景无刷直流电机(BLDC)因其高效、可靠、低维护的特点,广泛应用于电动汽车、无人机、工业自动化等领域。基于 Simulink 的 BLDC 电机驱动系统可以实现对电机的精确控制,包括速度控制、位置控制和转矩控制。通过仿真和测试,可以优化控制算法,提高系统的性能和可靠性。

xiaoheshang_123的博客 562

定位详解(固定定位,粘滞定位)

css定位详解篇二

BambooStrip的博客 4015

OpenCV入门(一)Python环境的搭建

因为有点Python基础,并且Python是比较好入门的编程语言,所以,机器视觉后面打算在Python这个平台下进行。

小幽余生不加糖 8123

CSS属性详解——position:relative

CSS中的相对定位relative定位是一种定位方式,与绝对定位absolute定位不同的是,相对定位是根据元素在正常页面流中的位置来定位。相对定位使元素相对于其原始位置上下左右移动。这个过程并不会使元素脱离文档流。

Wod_7的博客 6811

使用R语言整理GEO数据的简易教程

本教程介绍了使用R语言从GEO数据库下载数据并进行数据整理的基本步骤。根据实际研究问题,你可能需要进行更复杂的数据处理和分析。R语言作为一种强大的生物信息学工具,为GEO数据的整理、分析和可视化提供了丰富的功能和工具。希望这个教程能够帮助你入门GEO数据整理和R语言的应用。如果你在使用过程中遇到问题,或需要进一步的指导,请随时向我询问。祝你在GEO数据分析的旅程中取得成功!

Mrrunsen的博客 3743

27、物联网中的量子密钥分发:安全通信新范式

本文探讨了物联网(IoT)快速发展所带来的安全挑战,并提出量子密钥分发(QKD)作为应对新兴威胁的新范式。文章详细介绍了QKD的基础原理、BB84协议的实现流程以及其在物联网中的应用前景,同时强调了安全专业人员提升技能、制定标准化指南以及跨学科合作的重要性。通过利用量子力学特性,QKD能够提供更高的通信安全性,抵御量子计算等未来威胁,为物联网的安全发展提供保障。

tequila的博客 156

Css定位详解:文档流、相对定位、绝对定位与固定定位

绝对定位的元素完全脱离文档流,相对于最近的已定位祖先元素(指设置了position属性的元素)进行定位,如果没有已定位的祖先元素,则相对于初始包含块(通常是浏览器窗口)进行定位。本文将详细讲解CSS定位中的文档流、相对定位、绝对定位和固定定位。文档流是页面元素默认的排列方式,元素按照HTML中的顺序从上到下、从左到右依次排列,在文档流中,元素会占据一定的空间,其他元素会根据这个空间进行布局。固定定位的元素相对于浏览器窗口进行定位,无论页面如何滚动,元素位置不变,固定定位的元素也完全脱离文档流。

xwb55556的博客 457

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

css的相对定位和绝对定位(固定定位)

css的绝对定位和相对定位

qq_51476492的博客 1万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

相对定位relative、绝对定位absolute、固定定位fixed

注:默认情况下的定位是 postion:static; 使用定位时,常常使用偏移量对位置进行描述:left、right、top、bottom 定位时,使用z-indent可以元素的堆叠顺序,例:z-indent:1,出现在上层(z-index 仅能在定位元素上奏效) 相对定位relative 相对定位的参考物是元素的初使位置 相对定位的特点: 不影响元素本身的特性 元素不脱离文档流 相对于原位置进行偏移 div{ width: 100px;

qq_57215961的博客 1万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

css中的定位以及绝对定位和相对定位的区别

一:绝对定位 (position: absolute) 绝对定位:绝对定位是相对于元素最近的已定位的祖先元素(即是设置了绝对定位或者相对定位的祖先元素)。如果元素没有已定位的祖先元素,那么它的位置则是相对于最初的包含块(body)。 绝对定位本身与文档流无关,因此不占空间,普通文档流中的元素的布局就当绝对定位的元素不存时一样,所以 它们可以覆盖页面上其他的元素,且可以通过z-index属性来控制这些层的对方顺序。 特点: 相对于 自己原来在标准流中位置来移动的 原来在标准流的区域继续占有,后面的盒子仍然

wrx200077的博客 2282

CSS: 相对定位、绝对定位、固定定位 的基础知识及使用

CSS中相对定位、绝对定位、固定定位 的基础知识及使用

无面人的博客 5298

css定位详解(相对定位、绝对定位和固定定位)

文章目录一、什么是定位?二、各个属性值的作用1、相对定位2、绝对定位3、静态定位4、固定定位三、相对和绝对定位1、相对定位2、绝对定位3、相对定位和绝对定位(1)相对定位(2)绝对定位四、相对、绝对定位与浮动1、相对定位2、绝对定位3、浮动4、相对定位与浮动5、绝对定位和浮动五、z-index的使用六、小结 一、什么是定位? css中的position属性,position有四个值:relative(相对定位)、absolute(绝对定位)、static(静态定位)和fixed(固定定位),通过top、le

qq_38473254的博客 1万+

css绝对定位、相对定位、固定定位

css定位需要我们掌握的知识点。

yangyangdt的博客 1310

CSS中定位(带你实操代码掌握固定定位、绝对定位与相对定位(子绝父相))

CSS中子绝父相布局概念及其区别 概念 大部分情况下都会使用这个口诀:子绝父相就是指子元素设置绝对定位,而父元素设置相对定位 区别 绝对定位的参照物就是父级元素,当父级元素中不存在相对定位,那么它的参照物就是body;相对定位的参照物是本身。 绝对定位,设置后,原来的位置会被后面的内容占据;相对定位,设置后,原来的位置始终保留着。 绝对定位 position: absolute; 查找定位的参照物方法: 从当前元素开始往上找,直到找到一个具有定位属性的元素为准,以这个元素为参照进行定位。 如果没有一个

宝藏女孩的成长日记 1439

HTML+CSS基础知识(5)相对定位、绝对定位、固定定位

文章目录1、相对定位1.1 代码1.2 测试结果2、绝对定位2.1 代码2.2 测试3、固定定位3.1 代码3.2 测试结果 1、相对定位 1.1 代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>相对定位</title> <style type="text/css"> .box1{ wi

日常笔记 | 干货分享 | 毕设源码 | 毕设指导 | 答辩指导 786

CSS的相对定位,绝对定位,固定定位,及元素重叠(层级问题)

CSS的相对定位,绝对定位,固定定位,及元素重叠(z-index层级问题)

m0_49662897的博客 8217

css中的相对定位、绝对定位、固定定位

相对定位、绝对定位、固定定位

qq_51640133的博客 745

position定位:相对定位、绝对定位、固定定位、粘滞定位

文章目录定位偏移量(offset)相对定位绝对定位(常用)包含块(containing block)绝对定位元素的布局固定定位粘滞定位元素的层级 定位 定位是一种高级的布局手段 通过定位可以将元素摆放在页面的任意位置 使用position属性来设置定位 可选值: – static 默认值 元素是静止的没有开启定位 – relative 开启元素的相对定位 – absolute 开启元素的绝对定位 – fixed 开启元素的固定定位 – sticky 开启元素的粘滞定位 偏移量(offset) 当元素开

Natural_mengniu的博客 3298

CSS相对定位

网页中定位 定位有三种,分别是相对定位、绝对定位、固定定位。 相对定位: position:relative; 绝对定位: position:absolute; 固定定位: position:fixed; 1.1)相对定位 相对定位,就是微调元素位置的。让元素相对自己原来的位置,进行位置调整。 相对定位的定位值 可以用left、right来描述盒子右、左的移动; 可以用top、bottom来描述盒子的下、上的移动。 也就是说,如果一个盒子想进行位置调整,那么就要使用相对定位 posit

最爱喝怡宝的博客 1944

定位position(绝对定位absolute 相对定位 relative)

文章目录定位固定定位相对定位绝对定位粘性定位 定位 固定定位 position 规定元素的定位方式(类型) static 默认值,没有定位(写和不写一样) fixed 固定定位,会让元素生成 固定定位的元素 固定定位元素 永远是根据 浏览器的显示窗口 作为 定位位置的参考起点的 特点: 1、固定定位会使元素脱离文档流 2、元素在成为固定定位后,在没有规定固定宽度的情况下,宽高由内容撑开 3、固定定位会使元素产生块级框,不论任何类型的元素使用了固定定位后就都可以设置宽高了

爱玩亚索的程序员 1万+
上一篇: web中文件包含路径说明
下一篇: CSS属性大全
HackProgramer
博客等级 码龄12年 255粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值