粘性定位(sticky)详解

本文详细介绍了CSS粘性定位(sticky)的工作原理,包括其如何结合relative和fixed的特点,在页面滚动时动态切换定位方式。通过实例展示了粘性定位在实际中的应用,并列举了可能导致粘性定位不起作用的常见问题,如父元素overflow属性限制、缺少定位偏移量等。了解这些知识点,有助于开发者更有效地使用粘性定位实现网页布局的动态效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、粘性定位 sticky

 二、粘性定位特点

三、粘性定位实例

 四、粘性定位为什么不起作用


一、粘性定位 sticky

   sticky跟前面四个属性值都不一样,它会产生动态效果,很像relativefixed的结合:一些时候是relative定位(定位基点是自身默认位置),另一些时候自动变成fixed定位(定位基点是视口)。

语法:

选择器 { position: sticky; top: 10px; }

sticky能够形成"动态固定"的效果。比如,百度新闻首页的导航栏,初始加载时在自己的默认位置(relative定位)

相对定位

 滚动条下滑变成固定定位页面滚回去又会变成想对定位

 二、粘性定位特点

  • 以浏览器的可视窗口为参照点移动元素(固定定位特点)

  • 粘性定位占有原先的位置(相对定位特点)

  • 必须添加 top 、left、right、bottom 其中一个才有效

三、粘性定位实例

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .wrap {
      height: 2000px;
      width: 100%;
      background-color: skyblue;

    }

    .box1 {
      width: 80%;
      height: 100px;
      background-color: teal;
      margin: 0 auto;
    }

    .box2 {
      width: 200px;
      height: 600px;
      background-color: pink;
    
      top: 0;

      margin: 0 auto;
    }

    .sticky {
      position: sticky;
      top: 0px;
    }
  </style>
</head>

<body>
  <div class="wrap">
    <div class="box1"></div>
    <div class="box2 sticky"></div>
    <div class="box1"></div>
  </div>
</body>

</html>

打开页面 box2 相对定位

 滑动页面 box2 变成绝对定位

 四、粘性定位为什么不起作用

有时候设置会发现粘性定位不起作用,又找不到原因,可以看看有没有以下几点原因:

1、父元素不能overflow:hidden或者overflow:auto属性。
2、必须指定top、bottom、left、right4个值之一,否则只会处于相对定位
3、父元素的高度不能低于sticky元素的高度
4、sticky元素仅在其父元素内生效

### 回答1: JavaScript权威指南(第7版)是一本经典的JavaScript编程指南,是学习JavaScript的绝佳教材。这本书是由David Flanagan所著,内容详细、全面而且权威。它包含了所有JavaScript的核心语法和特性,以及许多实用的编程技巧和最佳实践。 在这本书中,读者可以学习到JavaScript的基础知识,如变量、数据类型、运算符等。同时,它还介绍了JavaScript的控制流程、函数、对象和数组等复杂的概念。此外,书中还详细讲解了DOM操作、事件处理、Ajax和JSON等与Web开发密切相关的主题。 这本书的第7版特别注重介绍了新的JavaScript语言特性,如箭头函数、解构赋值、Promise等。它还介绍了ES6、ES7和ES8的一些新特性,例如模块化、类和模板字面量等。这些新的语言特性使得JavaScript编程更加简洁和高效。 希望读者能够在学习这本书的过程中,掌握并理解JavaScript的核心概念和语法,从而能够灵活运用JavaScript进行开发。无论是初学者还是有经验的开发者,这本书都能帮助读者提升自己的JavaScript编程能力,并且成为一名优秀的JavaScript开发者。 最后,这本书的文件格式是PDF,便于读者在电子设备上方便地阅读和查找需要的内容。 ### 回答2: JavaScript权威指南(第7版)是一本关于JavaScript编程语言的权威参考手册,它包含了JavaScript的全部核心知识和语法规范。该书由Flanagan编写,是学习和掌握JavaScript的必备工具。 其中的"filetype pdf"表示希望获取的是PDF格式的书籍文件类型。JavaScript权威指南(第7版)提供了多种电子书格式供用户选择,包括PDF格式。以PDF格式打开,可以方便地在不同设备上阅读、检索和参考。 该书的内容非常全面,从语言基础、数据类型、操作符、函数、对象、数组、模块化编程、异步编程等各个方面进行了深入介绍和讲解。无论是初学者还是有一定经验的开发者,都可以通过该书系统地学习和理解JavaScript编程语言。 除了介绍语言特性和语法规范外,该书还涵盖了一些常用的编程技巧和最佳实践,帮助读者编写高质量、可维护和可扩展的JavaScript代码。 JavaScript权威指南(第7版)是一本由业界知名的作者编写的经典著作,并经过多次修订和更新,适用于目前流行的JavaScript环境和最新的语言标准。无论是作为学习参考书,还是作为日常开发过程中的查阅手册,该书都是程序员必备的工具之一。 ### 回答3: 《JavaScript权威指南》(第7版)是一本广泛应用的JavaScript编程指南,覆盖了JavaScript的方方面面。这本书被广泛认可为学习JavaScript语言和理解其工作原理的权威资料。 作为一本权威指南,该书由Douglas Crockford所著,他是JavaScript语言的专家之一,对于语言的设计和开发具有深入的理解。他将他的知识和经验整理成这本详实的教材,包含了对语法、对象、函数、DOM操作、浏览器兼容性、调试技巧等内容的详尽解释。 该书以深入浅出的方式讲解了JavaScript的核心概念和技术。它从基本的语法和数据类型开始,逐渐深入介绍了函数、对象、原型、闭包、模块化等高级概念。通过讲解这些关键概念,读者能够理解JavaScript的工作原理,并且能够编写高效、可靠的JavaScript代码。 除了对基本概念的解释,该书还包含了大量的示例代码和实践案例。这些示例代码覆盖了各种实际问题和解决方案,帮助读者理解如何应用JavaScript进行实际开发。此外,书中还介绍了一些最佳实践和常见的陷阱,以帮助读者避免常见的错误和优化性能。 《JavaScript权威指南》(第7版)的PDF格式使其易于访问和分享。读者可以通过电子设备随时随地阅读,并通过电子搜索功能快速找到需要的内容。这种便利性使得该书成为学习JavaScript和进行日常开发的理想资源。 总之,《JavaScript权威指南》(第7版)是一本深入浅出、全面而权威的JavaScript编程指南。它适合初学者和有一定经验的开发者阅读,帮助他们掌握JavaScript的核心概念和技术,提高开发效率和代码质量。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值