粘性定位的详解——position:sticky

        首先可以先预览一下博客:https://blog.csdn.net/qq_44327851/article/details/135149046,对定位的相关知识进行简单的回顾。言归正传,在实际开发运用中,我们不可置否的会发现:接触最多定位是absolute,relative,而对于粘性定位,在开发中我们可能不会一下子想到。那什么是粘性定位,一般应用在什么场景呢?让我们一起来探索!

概念:

      position: sticky是CSS中的一种定位方式,它允许元素在滚动时固定在特定位置,直到滚动到特定位置时才开始滚动。它会产生动态效果,是relativefixed的结合。

特点:

  1. 当元素在屏幕上可见时,它的行为就像position: relative;当元素在屏幕上不可见时,它的行为就像position: fixed。
  2. 当滚动到元素的位置时,元素会固定在指定的位置,直到滚动到另一个指定位置。
  3. 元素的固定位置是相对于最近的具有滚动条的祖先元素。

示例:
        假设我们有一个导航栏,当用户向下滚动页面时,导航栏应该固定在页面的顶部。当用户向上滚动时,导航栏应该回到原来的位置。

<!DOCTYPE html>
<html>
<head>
  <style>
    .navbar {
      position: -webkit-sticky; /* Safari */
      position: sticky;
      top: 0;
      background-color: #f1f1f1;
      padding: 10px 0;
    }
    .content {
      padding: 20px;
    }
  </style>
</head>
<body>
  <div class="navbar">
    <a href="#home">Home</a>
    <a href="#news">News</a>
    <a href="#contact">Contact</a>
  </div>

  <div class="content">
    <h3>Sticky Navigation Bar Example</h3>
    <p>Scroll this page to see the effect. When you scroll this page, the navigation bar will stick to the top of the page.</p>
  </div>
</body>
</html>

失效情况:

  1. 父元素不能设置为overflow:hidden或者overflow:auto:当父元素设置了overflow:hidden或者overflow:auto时,粘性定位可能会失效。因为粘性定位需要根据父级元素的滚动来确定是否固定,如果父元素设置了overflow:hidden或者overflow:auto,可能会影响这种滚动行为。
  2. 必须指定top、bottom、left、right中的至少一个值:如果没有指定这些值中的任何一个,元素将仅处于相对定位状态,而不会表现为粘性定位。
  3. 父元素的高度不能低于sticky元素的高度:如果父元素的高度低于sticky元素的高度,那么当元素到达底部时,它将无法保持固定位置。
  4. 粘性元素仅在其父元素内生效:粘性定位是相对于其最近的具有滚动条的祖先元素的,如果没有滚动条的祖先元素,粘性定位可能会失效。

 注意事项:

  1. 在使用position: sticky时,需要确保在支持该特性的浏览器上进行测试,因为一些旧版本的浏览器可能不支持该特性。
  2. 当使用position: sticky时,需要注意元素的父级元素是否具有滚动条,因为sticky定位的生效需要相对于最近的具有滚动条的祖先元素。
  3. 在某些情况下,滚动容器的高度可能会影响sticky元素的表现,需要仔细考虑滚动容器的高度和sticky元素的位置。
UltraEdit是一款功能强大的文本编辑和阅读工具。它具有许多优点,例如可以打开、阅读和编辑二进制文件的能力。在Windows10操作系统上安装UltraEdit64的过程如下所示: 1. 首先,从官方网站下载UltraEdit安装文件。根据你的计算机是32位还是64位选择对应的安装文件。 2. 下载完成后,找到UltraEdit安装文件,右键点击并以管理员身份运行。 3. 在安装向导中,选择安装路径。你可以选择默认的安装路径,或者自定义一个你喜欢的路径。 4. 在选择安装完成之前,会让你选择是否安装UltraCompare软件。UltraCompare是一款文件内容比较工具,可以比较多种文件类型的两个或多个文件之间的差异性。根据个人需求,你可以选择是否安装。 5. 等待安装完成。一旦安装完成,你就可以开始使用UltraEdit来进行文本编辑和阅读了。 总结起来,下载并安装UltraEdit是一个很简单的过程。你只需要从官方网站下载安装文件,然后按照安装向导的指引进行安装就可以了。安装完成后,你就可以享受UltraEdit强大的文本编辑和阅读功能了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [《软件安装与使用教程》— UltraEdit在Windows操作系统安装步骤教程](https://blog.csdn.net/meenr/article/details/124222960)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值