css之position

前言

position是最常用的属性之一,所以务必将它的每个值都搞明白。本文是个人理解position的总结。

可能的值

  • static(default)
    • 静态的,默认的位置
    • 忽略left、right、top、bottom
  • relative
    • 相对的位置,相对默认(static)位置偏移
    • 仍然占据原来的位置,也可以说占据着文档流
    • 举例
      • 注意后边的div并没有上移占据空出来的空间,这是因为relative的div仍然占据原来的空间
      • 这里写图片描述
  • absolute
    • 相对第一个非static的父元素的便宜,如果无此元素则相对body
    • 不再占据原先的位置,也就是脱离文档流
    • 举例
      • 注意后边的div上移占据了空出来的空间,这是因为absolute的div脱离文档流,不再占据原来的空间
      • 这里写图片描述
  • fixed
    • 相对窗口
    • 脱离文档流,不再占据原先的位置
    • 举例
      • 这里写图片描述

完整demo

在线demo

### CSS `position` 属性使用指南 #### 静态定位 (Static) 默认情况下,HTML 元素都是静态定位。这意味着它们按照正常的文档流进行排列,不会受到诸如 `top`, `bottom`, `left`, 和 `right` 这样的偏移属性的影响[^1]。 ```css div { position: static; } ``` #### 相对定位 (Relative) 当元素被设定为相对定位时,它仍然据原来的空间,但是可以通过指定 `top`, `bottom`, `left`, 或 `right` 来调整其相对于原始位置的位置。这种类型的定位对于微调元素非常有用[^2]。 ```css div { position: relative; top: 10px; left: 20px; } ``` #### 绝对定位 (Absolute) 绝对定位使元素脱离正常文档流,并允许基于最近已定位祖先元素来放置该元素;如果没有这样的父级,则参照初始包含块(通常是视口)。这使得绝对定位非常适合创建覆盖层或其他不遵循常规布局结构的内容。 ```css div { position: absolute; top: 50%; transform: translateY(-50%); } ``` #### 固定定位 (Fixed) 具有固定定位的元素会相对于浏览器窗口本身而不是任何特定容器来进行定位。即使页面滚动,这类元素也会保持在同一视觉位置上显示。这对于实现导航栏或者返回顶部按钮等功能特别有效。 ```css nav { position: fixed; bottom: 0; width: 100%; } ``` #### 粘性定位 (Sticky) 粘性定位是一种混合模式,在某些条件下表现为相对定位而在其他时候则像固定定位一样工作。通常用于列表项或表格头部等需要在用户浏览到一定高度之后才固定的场景下。 ```css header { position: sticky; top: 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值