技术好文:sticky的使用

简介: 技术好文:sticky的使用

"

position: sticky粘性定位:是css新增的一个position属性。说是对于IOS的兼容性好一点,对于安卓的兼容性不太好(我自己感觉安卓的兼容性也不错)

于position:fixed的区别:我们都知道常用的几个定位(static、absolute、relative、fixed),如果没有额外的js处理,只要写上,页面立马就可以看到相对应的效果。而sticky相当于加了一个滚动事件//代码效果参考:https://v.youku.com/v_show/id_XNjQwNjg0MzA3Ng==.html

的处理,当页面滚动到相对应的元素上,就会变成固定定位的效果。当滚动到父元素不在可视区域范围内时,定位效果就会消失。

适用场合:一开始不显示,滚动到一定位置需要显示的元素

使用注意事项:

父元素不能有overflow属性

left、top、right、bottom必须要有一个

仅在父元素内生效,父元素的高度必须大于sticky元素的高度

ios加前缀-webkit-sticky(考虑到兼容问题)

使用方法:

.sticky{

position: sticky;

position: -webkit-sticky;

Width</span>: 100%;

left: 0;

top: 20px;

}

js检查是否支持sticky属性:

var isSupportSticky = function() {

var prefixTestList = 【'', '-webkit-', '-ms-', '-moz-', '-o-'】;

var stickyText = '';

for (var i = 0; i < prefixTestList.length; i++) {

stickyText += 'position:' + prefixTestList【i】 + 'sticky;';

}

// 创建一个dom来检查

var div = document.createElement('div');

div.style.cssText = stickyText;

document.body.appendChild(div);

var isSupport = /sticky/i.test(window.getComputedStyle(div).position);

//代码效果参考:https://v.youku.com/v_show/id_XNjQwMDM5ODU1Ng==.html

document.body.removeChild(div);

div = null;

return isSupport;

};


"
image.png
相关文章
|
JavaScript
VUE element-ui之el-popover弹出框在局部全屏下不显示问题及弹框、小箭头背景修改
VUE element-ui之el-popover弹出框在局部全屏下不显示问题及弹框、小箭头背景修改
3141 0
VUE element-ui之el-popover弹出框在局部全屏下不显示问题及弹框、小箭头背景修改
|
资源调度 前端开发 算法
前端依赖版本重写指南
感谢神奇的 Semver 动态规则,npm 社区经常会发生依赖包更新后引入破坏变更的情况(应用没有使用依赖锁的话),而应用开发者就要在自己的依赖声明里先临时绕过,避免安装到有问题的版本,如果是一级依赖,只需要改 package.json 的声明就可以了,但如果是子依赖,就需要进行版本重写(overrides/resolution)了。本文是一篇针对版本重写功能的指南性文章,当你遇到如下的问题时,就可以按照对应的依赖重写语法,解决这些依赖问题了。
7226 1
前端依赖版本重写指南
|
11月前
|
前端开发
用 CSS 实现兼容性渐变背景效果
【10月更文挑战第17天】
283 43
|
存储 缓存 JavaScript
【Uniapp 专栏】深入剖析 Uniapp 的运行机制原理
【5月更文挑战第12天】Uniapp是一款基于Vue.js的跨平台前端框架,通过抽象不同平台的差异,实现一套代码多平台运行,提升开发效率。其架构包括视图层(基于Vue.js组件)、逻辑层(JavaScript处理业务逻辑)和数据层(管理应用数据)。运行时,Uniapp会根据目标平台转换代码并适配。关键技术包括Web标准、原生插件和运行时环境。优化措施包含代码分包、数据懒加载和缓存机制。借助HBuilderX等工具,开发者能高效地进行开发和测试。Uniapp的运行机制融合多种技术,为跨平台应用开发提供便利。
841 2
【Uniapp 专栏】深入剖析 Uniapp 的运行机制原理
|
前端开发
Vue3 element-ui el-upload(上传组件) 上传图片后,隐藏上传按钮
Vue3 element-ui el-upload(上传组件) 上传图片后,隐藏上传按钮
853 0
|
10月前
|
存储 缓存 前端开发
CacheStorage详解
CacheStorage 是 Web API 的一部分,用于管理缓存对象的存储。它允许开发者在客户端存储和检索请求-响应对,实现离线访问和性能优化。通过 CacheStorage 接口,可以创建、删除和查询缓存,以及控制资源的缓存策略。
|
12月前
|
设计模式 Java 数据库
【禁用外键】为什么互联网大厂禁用外键约束?详谈外键的优缺点和使用场景
从多个层面分析数据库外键的优缺点,并给出外键的使用场景和禁止使用的场景。
669 19
【禁用外键】为什么互联网大厂禁用外键约束?详谈外键的优缺点和使用场景
|
12月前
|
JavaScript
Vue2使用v-model封装ElementUI_CheckBox组件
本文介绍了在Vue2中如何使用v-model封装ElementUI的CheckBox组件。封装后的组件支持有标题和无标题的情况,并提供了在Vue页面中的使用示例,包括单独使用和在表单中的使用。
400 2
|
数据采集 自然语言处理 关系型数据库
在 MySQL 中使用 REPEAT
【8月更文挑战第6天】
505 0
在 MySQL 中使用 REPEAT
【下载问题】下载的文件内容显示[object],[object]
摘要:解决下载文件显示[object],[object]的问题,关键在于文件内容处理。原代码`const temp = [res.data]`未对接口返回的数据进行字符串转换。修改为`const temp = [JSON.stringify(res.data)]`,将数据转化为字符串格式,从而正确显示文件内容。
1069 3

热门文章

最新文章