【学习】CSS定位

CSS定位 笔记

布局是屏幕平面上的,而定位是垂直于屏幕的
border-box中,背景的范围是border外边沿围成的区域

  • 一个div的分层
    从最底层往上 background→border→块级子元素→浮动元素→内联子元素
  • 定位的意义
    定位允许您从正常的文档流布局中取出元素,并使它们具有不同的行为,例如放在另一个元素的上面,或者始终保持在浏览器视窗内的同一位置。

position属性

  • position
    • static 默认值 将元素放入它在文档布局流中的正常位置
    • relative 相对定位 升起来,但不脱离文档流
      • 使用场景
        • 位移(很少用)
        • 给absolute元素做爸爸
      • 配合z-index
        • z-index:auto 默认值,不创建新层叠上下文
        • z-index:0/1/2
        • z-index:-1/-2
    • absolute 绝对定位 定位基准是祖先里的非static
      • 使用场景
        • 脱离原来的位置,另起一层,比如说对话框的关闭按钮
        • 鼠标提示
      • 配合z-index
    • fixed 固定定位 定位基准是viewport
      • 使用场景
        • 广告
        • 回到顶部按钮
      • 配合z-index
      • 手机上尽量不要使用这个属性
    • sticky 粘滞定位
      • 它基本上是相对位置和固定位置的混合体,它允许被定位的元素表现得像相对定位一样,直到它滚动到某个阈值点(例如,从视口顶部起1​​0像素)为止,此后它就变得固定了。例如,它可用于使导航栏随页面滚动直到特定点,然后粘贴在页面顶部。
  • 注意
    • 如果写了absolute,一般都要补一个relative
    • 如果写了absolute或者fixed一定要补top和left
    • sticky兼容性较差

z-index

z-index 值影响定位元素位于该轴上的位置;正值将它们移动到堆栈上方,负值将它们向下移动到堆栈中。默认情况下,定位的元素都具有z-index为auto,实际上为0。
z-index只接受无单位索引值

层叠上下文

假定用户正面向(浏览器)视窗或网页,而 HTML 元素沿着其相对于用户的一条虚构的 z 轴排开,层叠上下文就是对这些 HTML 元素的一个三维构想。众 HTML 元素基于其元素属性按照优先级顺序占据这个空间。

  • 比方
    • 每个层叠上下文就说一个新的小世界,这个小世界里面的z-index跟外界无关
    • 处在同一个小世界的z-index才能进行比较
  • 文档中的层叠上下文由满足以下任意一个条件的元素形成:
    • 文档根元素 <html>
    • position 值为 absolute(绝对定位)或 relative(相对定位)且 z-index 值不为 auto 的元素
    • position 值为 fixed(固定定位)或 sticky(粘滞定位)的元素
    • flex 容器的子元素,且 z-index 值不为 auto
    • grid 容器的子元素,且 z-index 值不为 auto
    • opacity 属性值小于 1 的元素
    • transform属性值不为none
  • 负z-index与层叠上下文的关系
    负z-index逃不出小世界

white-space:nowrap; 文字内容不准换行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值