聊聊CSS粘性定位sticky案例解析


Posted in HTML / CSS onJune 01, 2022

背景

最近在做项目迁移,因为技术不同,导致某些功能的问题需要手动解决;如何在居位在主体区域底部不随内容而滚动;
OK进入正体这期分享的是CSS粘性定位属性sticky来解决上面的问题

粘性定位:

粘性定位可以被认为是相对定位和固定定位的混合。是 position:sticky是css定位新增属性;它主要用在对 scroll 事件的监听上;简单来说,在滑动过程中,某个元素距离其父元素的距离达到 sticky粘性定位的要求时(比如top:100px);position:sticky这时的效果相当于fixed定位,固定到适当位置

案例:

我们先来看个案例及最终的效果

聊聊CSS粘性定位sticky案例解析

实现的代码

通过一个简单案例去带大家粗略了解粘性布局更容易更好理解,东西本身不负载但存在一些问题需要去进一步了解

问题探索及项目中的坑

  • 如果发现sticky粘性定位失效,如何解决
    解决方案: 一般sticky粘性定位失效,我们需要去找他的父元素看他的父亲元素是否设置overflow,一般都以滚动条那个父元素为主
<!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>
</head>
<body>
  <div class="aside-warp">
    <div>1</div>
    <div>2</div>
    <div class="icon">图标</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
    <div>9</div>
    <div>10</div>
    <div>11</div>
    <div>12</div>
    <div>13</div>
    <div>14</div>
    <div>15</div>
    <div>16</div>
    <div>17</div>
    <div>18</div>
    <div>19</div>
  </div>
</body>
</html>
<style>
  body {
    height: 2000px;
    overflow: auto;
  }
  .aside-warp {
    margin-top: 50px;
    height: 700px;
    width: 500px;
    background-color: aliceblue;
    overflow: hidden; //这里是模仿没有滚动条的效果
  }
  .aside-warp div {
    height: 80px;
    line-height: 80px;
    text-align: center;
    border: 1px solid red;
  }
  .icon {
    position: sticky;
    top: 0px;
    background-color: aquamarine;
  }
</style>

如果能解决上面的案例说明对粘性布局了解;

来说明下上面的案例的问题:为什么此时图标就无法粘性定位了,主要是因为它(子元素)不知道以那个父元素的滚动为准(现在有两个父级元素都产生了滚动),所以我们要对一层层祖级元素检查看是否有overflow属性如果有将元素设置 overflow: visible; body {overflow: visible; }; 简单理解:两个父级body 和div.main 如果同高度宽度的话,子元素就不知道到底以父元素为主,就会出现无法粘性定位的问题,所以避免这个问题我们要将其中不要定位的父元素设置{overflow: visible; }; PS:像这种案例非常常见我只是随机例举,比如像吸顶啊等等都是可以用粘性定位实现的

到此这篇关于关于CSS粘性定位sticky的文章就介绍到这了,更多相关CSS粘性定位sticky内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
纯CSS实现的大小渐变、渐远效果
Apr 15 HTML / CSS
html5的新玩法——语音搜索
Jan 03 HTML / CSS
html5 button autofocus 属性介绍及应用
Jan 04 HTML / CSS
HTML5中div、article、section的区别及使用介绍
Aug 14 HTML / CSS
html5定位获取当前位置并在百度地图上显示
Aug 22 HTML / CSS
详解HTML5中div和section以及article的区别
Jul 14 HTML / CSS
html5 实现客户端验证上传文件的大小(简单实例)
May 15 HTML / CSS
基于HTML5的WebGL实现json和echarts图表展现在同一个界面
Oct 26 HTML / CSS
Html5 video标签视频的最佳实践
Feb 26 HTML / CSS
AmazeUi Tree(树形结构) 应用小结
Aug 17 HTML / CSS
amazeui页面分析之登录页面的示例代码
Aug 25 HTML / CSS
css display table 自适应高度、宽度问题的解决
May 07 HTML / CSS
HTML5之高度塌陷问题的解决
Jun 01 #HTML / CSS
使用CSS实现黑白格背景效果
Jun 01 #HTML / CSS
HTML中实现音乐或视频自动播放案例详解
May 30 #HTML / CSS
CSS文本阴影 text-shadow 悬停效果详解
May 25 #HTML / CSS
HTML页面中使两个div并排显示的实现
May 15 #HTML / CSS
html中相对位置与绝对位置的具体使用
CSS 左边固定宽右边自适应的6种方法
May 15 #HTML / CSS
You might like
国产动画《伍六七》原声大碟大卖,啊哈娱乐引领音乐赋能IP的新尝试
2020/03/08 国漫
如何获得PHP相关资料
2006/10/09 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
解javascript 混淆加密收藏
2009/01/16 Javascript
使用jQuery的将桌面应用程序引入浏览器
2010/11/19 Javascript
计算新浪Weibo消息长度(还可以输入119字)
2013/07/02 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
2014/12/31 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
jQuery实现的自定义弹出层效果实例详解
2016/09/04 Javascript
使用BootStrapValidator完成前端输入验证
2016/09/28 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
Node.js 的模块知识汇总
2017/08/16 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
布同 Python中文问题解决方法(总结了多位前人经验,初学者必看)
2011/03/13 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
使用Python写一个贪吃蛇游戏实例代码
2017/08/21 Python
Django实现支付宝付款和微信支付的示例代码
2018/07/25 Python
html5视频自动横过来自适应页面且点击播放功能的实现
2020/06/03 HTML / CSS
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
周生生珠宝香港官网:Chow Sang Sang(香港及海外配送)
2019/09/05 全球购物
环境科学专业优秀毕业生自荐书
2014/02/03 职场文书
六查六看自查材料
2014/02/17 职场文书
五水共治捐款倡议书
2014/05/14 职场文书
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
2014党支部对照检查材料思想汇报
2014/10/05 职场文书
2014全年工作总结
2014/11/27 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书
当幸福来敲门英文观后感
2015/06/01 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书