技术好文: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
相关文章
|
4月前
|
前端开发 UED 开发者
【前端秘籍】掌握 display: none 与 visibility: hidden 的奥秘,让你的网页设计更上一层楼!
【8月更文挑战第23天】在Web前端开发中,常需控制元素的可见性。本文详细对比了两种主流CSS隐藏方法:`display: none`和`visibility: hidden`。`display: none`彻底移除元素在页面布局中的位置,适用于无需保留空间的隐藏场景;而`visibility: hidden`仅使元素视觉上消失,仍保留其布局位置,适用于需要动画效果或保留布局结构的情况。通过具体示例展示了两种方法的实际应用,帮助开发者根据项目需求选择最合适的方式,提升用户体验。
73 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-Header和Footer组件2 原创
前端学习笔记202305学习笔记第二十二天-Header和Footer组件2 原创
43 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-Header和Footer组件3
前端学习笔记202305学习笔记第二十二天-Header和Footer组件3
52 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-Header和Footer组件1
前端学习笔记202305学习笔记第二十二天-Header和Footer组件1
48 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-Header和Footer组件2
前端学习笔记202305学习笔记第二十二天-Header和Footer组件2
39 0
|
Web App开发 小程序 API
小程序开发-第一章第四节从block盒式布局到Flex弹性布局-全栈工程师之路-中级篇(下)
小程序开发-第一章第四节从block盒式布局到Flex弹性布局-全栈工程师之路-中级篇(下)
145 0
小程序开发-第一章第四节从block盒式布局到Flex弹性布局-全栈工程师之路-中级篇(下)
|
Web App开发 小程序 iOS开发
小程序开发-第一章第四节从block盒式布局到Flex弹性布局-全栈工程师之路-中级篇(上)
小程序开发-第一章第四节从block盒式布局到Flex弹性布局-全栈工程师之路-中级篇(上)
278 0
小程序开发-第一章第四节从block盒式布局到Flex弹性布局-全栈工程师之路-中级篇(上)
|
运维 应用服务中间件 数据库
金鱼哥RHCA回忆录:DO447协调滚动更新--管理滚动更新
第五章 协调滚动更新--管理滚动更新
137 0
金鱼哥RHCA回忆录:DO447协调滚动更新--管理滚动更新
|
前端开发 异构计算