千家信息网

如何理解css中position的五个属性

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,如何理解css中position的五个属性,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在实际开发页面布局时,运用pos
千家信息网最后更新 2025年01月20日如何理解css中position的五个属性

如何理解css中position的五个属性,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

在实际开发页面布局时,运用position,对定位的块级元素的嵌套的效果总是不太理解,这里做了几个测试

一般的在w3c中我们可以很容易的获取定义:

static : 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。

fixed :生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

inherit :规定应该从父元素继承 position 属性的值。

absolute : 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

relative : 生成相对定位的元素,相对于其正常位置进行定位。因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

总的来说 :

static呢,就是正常的文档流顺序,默认的,相当于没有定位!

fixed呢, 就是相对于浏览器窗口,就是你滚动条怎么滚动,他还是那个位置,就想是 "粘" 在窗口上了!

  inherit呢, 就是从父元素继承 position 属性的值,

absolute呢,是脱离文档流的原来的位置是不继续占据了,如果他的父级元素中有已经定位了的不管是absolute的还是relative,它都会相对于他的父级元素来定位,如果他的父级元素中没有定位了的那么它就是相对于body来定位的。也就是说absolute的绝对是有参照物的!

relative呢,是不会脱离文档流的原来的位置也就继续占据了,它是只相对于自身原来的位置来定位的!

  前三个是很容易理解的,对于absolute和relative的结合使用,做了几个测试

测试(absolute和relative)

  1.单独的absolute和relative

  2.relative中的relative,absolute中的relative

  3.absolute中的absolute,relative中的absolute

代码如下:





position -- absolute -- relative



absolute

分割

relative

结合使用


parentNode的position不是relative或absolute,那absolute的绝对对象是针对body的
parentNode的position 是relative或absolute,那absolute的绝对对象是针对parentNode的
也就是说absolute的绝对是有参照Node的



absolute外的relative

relative内的absolute,,,里面这个div是相对外面那个div定位的



absolute外的absolute

absolute内的absolute,,,,,,,,里面这个div是相对外面那个div定位的



relative外的relative

relative内的relative,,,,,,,,里面这个div是相对原来位置定位的



relative外的absolute


relative内的absolute,,,里面这个div是相对原来位置定位的





其实很多时候,网上的经验,很多很杂,自己实践一下,才能自己真正理解。

CSS中三大position属性值用法解读

本文向大家简单介绍一下CSS中position属性值的使用,主要包括static:默认值,relative:相对定位,absolute:绝对定位三种,主要用于定位html元素的位置,并影响元素块生成的方式,相信本文介绍对你一定会有所帮助。

CSS中position属性值用法

CSS中position属性有4种可选值:static,relative,absolute,fixed,用于定位html元素的位置,并影响元素块生成的方式。这里我们重点看一下position属性的三个取值定义:position:static、absolute、relative。

static:默认值

如果没有指定position属性值,支持position属性的html对象都是默认为static,可以这么理解:把html页面看作一个文档流,源代码中各个标签的先后位置就是它们所对应的对象的呈现次序,所有取值为static的对象都按照你所编写的html标签的顺序依次呈现。

relative:相对定位

此position属性值保持对象所在文档流中的位置,也就是说它具有和static相同的呈现方式,它同样占有在文档流中的固定位置,后面的对象不会侵占或覆盖;与static属性值不同的是,设置了relative的对象,可以通过top,left,right,bottom属性设定自己的新显示位置,这4个属性的取值是相对于文档流的前一个对象的,你可以自由设置这4个属性偏移到新的位置而不对文档流中的其他对象产生任何影响,原来的页面呈现仍然会我行我素.

absolute:绝对定位

和relative不同的是,这个position属性值会将当前对象拖出文档流,后面的对象会占有原来的位置,也就是说,当前对象的呈现是独立显示的,但是它的位置在指定top,left,right,bottom任一属性之前仍是有继承性的,这时的4个属性的取值是相对于浏览器的,和文档流无关了。如果把示例中的B区域设定为absolute而不指定4个位置属性,通过设定margin来改变它的相对位置,用这个方法可以解决前面提到的问题2。

温馨提示:

属性值为absolute对象的z-index属性可以设置层叠显示的次序,它是直接有效的;而属性值为relative对象的z-index属性在设置时要小心,把当前对象的z-index设置为-1是不行的,在firefox中它会无法显示(注意,不是说浏览器有误,而是指如果父对象是根元素body,那么z-index是无效的,任何z-index设置都不会显示在根元素之后,除了IE的解析bug,感谢#19提示),必须设置为0以上,我们如果想让别的对象挡住它,只有将其他对象也设置position为relative,并将z-index属性取一个比它大的值即可。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

属性 定位 位置 元素 对象 文档 就是 生成 也就是 也就是说 浏览器 浏览 方式 页面 帮助 影响 测试 不同 三个 标签 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 ocm数据库怎么注册 贵州it软件开发公司 安元网络安全审查 幼儿园国旗下讲话网络安全教育 服务器的管理与维护工作 温州市网络安全 链接数据库中文乱码 服务器的硬盘分区 重庆特色软件开发概念 数据库的基本安全机制有哪些 比奥互联网科技有限责任公司 疫情期间小学生线上学习网络安全 网络安全周宣传活动资料 网络安全应急预案和网络情况 服务器B1OS的启动模式有哪些 游戏和软件开发专业 网络安全渠道商分类 上海歌瑞软件开发司 sas临时数据库是唯一的吗 软件开发到一半对方要求终止开发 软件开发市场风险评估 平安校园建设网络安全征文 服务器无响应是运营商的问题吗 深圳三国网络技术有限公司 数据库字段别名为什么 网络安全宣传周试题答案 网络安全工程师 要学什么 数据库图片解析软件 太原软件开发学校专科 数据库原理教程第二版电子版
0