CSS4种定位模式 (position)的特性详解

CSS定位position详解

定位是用来布局的,它有两部分组成:定位 = 定位模式 + 边偏移

边偏移

CSS定位的盒子,是通过边偏移来移动位置的。

在 CSS 中,通过 topbottomleftright 属性定义元素的边偏移:(方位名词)

边偏移属性示例描述
toptop: 80px顶端偏移量,定义元素相对于其父元素上边线的距离
bottombottom: 80px底部偏移量,定义元素相对于其父元素下边线的距离
leftleft: 80px左侧偏移量,定义元素相对于其父元素左边线的距离
rightright: 80px右侧偏移量,定义元素相对于其父元素右边线的距离

定位的盒子有边偏移才有价值。 一般情况下,凡是有定位地方必定有边偏移。

定位模式 (position)

在 CSS 中,通过 position 属性定义元素的定位模式,语法如下:

选择器 { position: 属性值; }

定位模式是有不同分类的,在不同情况下,我们用到不同的定位模式。

语义
static静态定位
relative相对定位
absolute绝对定位
fixed固定定位

在这里插入图片描述

静态定位(static)

  • 静态定位是元素的默认定位方式,无定位的意思。它相当于 border 里面的none, 不要定位的时候用。
  • 静态定位按照标准流特性摆放位置,它没有边偏移。
  • 静态定位在布局时是几乎不用的 。

相对定位(relative)

  • 相对定位是元素相对于它原来在标准流中的位置来说的。

在这里插入图片描述

相对定位的特点:

  • 相对于自己原来在标准流中的位置来移动。
  • 原来在标准流的区域继续占有,后面的盒子仍然以标准流的方式对待它。

绝对定位(absolute)

绝对定位是元素以带有定位的父级元素来移动位置 。

  1. 完全脱离标准流 —— 完全不占位置;

  2. 如果父元素没有定位,则以浏览器为准定位(Document 文档)。

在这里插入图片描述

  1. 父元素要有定位

    • 将元素依据最近的已经定位(绝对、固定或相对定位)的父元素(祖先)进行定位。

    在这里插入图片描述

绝对定位的特点:

  • 绝对是以带有定位的父级元素来移动位置,如果父级都没有定位,则以浏览器文档为准移动位置。
  • 不保留原来的位置,是完全脱离标准流的。
  • 要和带有定位的父级搭配使用。

布局定位 —— 子绝父相

绝对定位,要和带有定位的父级搭配使用,那么父级要用什么定位呢?

子绝父相 —— 子级绝对定位,父级要用相对定位。

子级元素使用绝对定位完全脱离标准流 ,不占据位置。

父级元素使用相对定位,占据位置,按照正常标准流显示,不会影响后面元素的正常显示,相对定位不脱标,后续盒子仍然以标准流的方式对待它。

固定定位(fixed)

固定定位绝对定位的一种特殊形式。

  1. 完全脱离标准流 —— 完全不占位置;
  2. 相对于浏览器的可视窗口 —— 浏览器可视窗口 + 边偏移属性 来设置元素的位置;
    • 跟父元素没有任何关系;单独使用的
    • 可以把一个盒子固定在浏览器可视窗口的某个位置,不会随滚动条一起滚动。

提示:IE 6 等低版本浏览器不支持固定定位。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS中,position属性用于指定元素的定位方式。常见的定位方式有relativeabsolutefixed和sticky。 - relative定位是相对于元素在正常文档流中的位置进行定位。通过设置top、right、bottom和left属性来调整元素的位置。如果同一级别的元素使用了relativeabsolutefixed、sticky定位,那么z-index值大的元素会在上面显示。\[1\] - absolute定位是相对于最近的已定位祖先元素进行定位,如果没有已定位的祖先元素,则相对于最初的包含块进行定位。通过设置top、right、bottom和left属性来调整元素的位置。absolute定位的元素会脱离正常文档流。\[1\] - fixed定位是相对于浏览器窗口进行定位,不会随滚动条的滚动而改变位置。通过设置top、right、bottom和left属性来调整元素的位置。fixed定位的元素也会脱离正常文档流。\[1\] - sticky定位是相对于元素在正常文档流中的位置进行定位,但是在滚动到特定位置时会变为fixed定位。通过设置top、right、bottom和left属性来调整元素的位置。\[1\] 在同一级别的元素中,relativeabsolutefixed、sticky定位会在static定位上面显示。static是元素的默认定位方式,元素按照正常文档流进行布局。\[3\] 以上是关于CSSposition属性的一些基本概念和用法。 #### 引用[.reference_title] - *1* *2* *3* [CSSposition详解](https://blog.csdn.net/weixin_41459434/article/details/93483583)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值