首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

吸顶效果解决方案

一.场景 “吸顶”是一种比较老的交互方式,在PC页面已经用了很多年了,如图: sticky 吸顶元素的初始位置一般靠近页面顶部,但与顶部有一定距离,这块区域放的是最醒目的元素,比如Banner图...页面向下滚动超过吸顶元素初始位置,把吸顶元素固定顶部 要求吸顶的元素一般是二级导航栏、搜索框、文章标题栏(h1)、表头(thead)、tab条等等,共同特点是在内容或功能上比较重要,但又不是最重要的元素...(最重要的元素通常固定在页面顶部,navbar-fixed-top) 二.PC解决方案 页面滚动到一定位置,做一些事情 “回到顶部”按钮也是这样的,页面向下滚动超过150px,显示该按钮,否则隐藏...监听滚动判断位置的方法完全失效,平滑吸顶效果变成了过临界位置直到停止滚动,吸顶元素跳到目标位置,体验非常差,不可忍受 scroll不能用,但还可以有一些奇怪的思路,比如定时器读scrollTop,touchmove...static能为后代元素提供定位参照),但top和left无效 过初始位置,和position: fixed表现类似,top和left生效,固定在屏幕可见区域,但页面不会抖动,原本占据的空间还在(自带守家占位符的感觉

3.4K10

H5C3第四节

【演示:01-伸缩布局初体验.html】 当给一个盒子设置了display:flex之后,这个盒子就有了主轴 和侧轴 的概念。...参考文档 http://www.dowebok.com/77.html 下载地址 https://github.com/alvarotrigo/fullPage.js 基本使用 引入jQuery文件,因为...loopTop 滚动到顶部后是否连续滚动到底部,默认false loopBottom 滚动到底部后是否连续滚动到顶部,默认false continuousVertical 是否循环滚动,默认为false...paddingTop/paddingBottom 给每一个section设置一个paddingTop或者paddingBottom,默认值为0,如果需要给页面设置一个固定定位的头部菜单或者底部菜单的时候...section,当滚动结束后,会触发一次这个回调函数,anchorLink是锚链接的名称,index从1开始计算 onLeave(index,nextIndex,diretion) 当我们离开一个section

5.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

实现滚动Header自动隐藏

这是掘金网页版的头部,当滚动条向下滑动,主header会隐藏,次级header会吸在页面顶部。...100%; background: #00ff00; position: fixed; top: 50px; } 这里使用绝对定位来将两个header固定在页面顶部...他们两个分别用容器main-header-wrapper和sub-header-wrapper包裹,是为了防止由于header脱离文档流导致遮住正文元素。...甚至y值能到负值 查看示例 这里还有一个问题,只检测了滚动到顶部,而没有检测滚动到底部。这是因为我没想到什么很好的方法去检测。...前者,可以通过判断y值是否为0(或小于0)来实现;而后者,正常来说,滚动到底部,文档高度-视窗高度应该和滚动条的y值是一致的。

2.2K30

【兼容性】H5滚动穿透解决方案

2body height 100% html, body { overflow: hidden; height:100%} 是可以,但是会丢失 滚动高度,文档回到最顶部。...页面内容从 0 突然跳到 原先位置,可想而知会有 闪动,体验仍然不好 4避免页面跳回顶部 拿到 页面的滚动高度,在给 html 设置 这些样式的时候 html{ overflow: hidden; height...,当元素动到顶部和底部的时候,再滚动,仍然会触发document 滚动 为什么呢?...之前我们说了,浏览器需要尽可能响应滚动行为,element 滚到两端 element 不了,那我就 document 所以我们最好监听 element 滚到 顶部和 底部的时机,继续禁止滚动行为 var...(手没有离开屏幕)导致元素动到顶部或者 底部之后,如果手还在屏幕上往两端滑,并不会触发滚动穿透 如果你把元素动到 两端不可之后,抬起手,再按下去,往不可的方向移动,此时才会发生 滚动穿透 之前我们说了

5.3K20

Js处理滚动条和日期框

滚动条不是html页面的元素,它是浏览器的元素。想获取浏览器的元素,就不能走常规套路啦,要通过javascript来执行。 不是所有的元素都一定要拖动到可见区域才能操作的。...例如底部的页面跳转:有的系统,虽然进来是这个地方,想操作页面底部的元素,可以操作,也不需要拖动滚动条,它会自动将它拖动到可见区域,然后去操作它。...例如元素在页面正中间,想将它滚动到可见区域,必须有向上和向下这2种做法。 如果你希望他向上。 一种,.scrolllntoView()默认跟页面顶部对齐: ?...这条区域线才是顶部: ? 9)一般用底部? 如果系统没有遮罩层,随便用,有遮罩层就只能用底部。 一般来说,会用顶部,默认的不传参,情非得已的情况下才会传参。...Js中innerText的用法: innerText可获取或设置指定元素标签内的文本值,从该元素标签的起始位置到终止位置的全部文本内容(不包含html标签)。

10.8K10

控制页面的滚动:自定义下拉到刷新和溢出效果

css中也可以写变量等知识,如果文有误导的地方,欢迎路过的老师拍砖指正 目录 背景,滚动边界与滚动链接 引入overscroll行为(对应的三个属性值,auto,contain,none) 防止滚动逃离固定位置元素通过...overscroll-behavior:contain解决 禁用拉到刷新(overscroll-behavior-y: contain) 禁用超色条纹和橡皮筋效果要在滚动边界禁用反弹效果(橡皮筋效果...注意:使用overscroll-behavior:包含html元素可防止超滚动导航操作 none - 与包含相同,但它也可以防止节点本身内的超滚动效果(例如,Android超量滚动发光或iOS橡皮圈)...最终的结果是当用户到达聊天记录的顶部/底部,主页面保持放置状态。在聊天框中开始的滚动不会传播出去 ?...要在滚动边界禁用反弹效果(橡皮筋效果),请使用 overscroll-behavior-y:none: body { /* 禁用拉到刷新和过卷发光效果。

3.3K20

你也许不知道的浏览器的一些滚动行为

最常用的方法: // 获取元素的offsetTop(元素距离文档顶部的距离) let offsetTop = document.querySelector(".box").offsetTop; //...window.scrollTo(0, 999999); 注意:平滑滚动到顶部或者底部自己加参数或者属性即可✅ 3....函数节流 当你没加函数节流: window.addEventListener("scroll", () => console.log("我在我在!"))...滚动结束后,强制滚动到指定元素 基于上面的例子,我们设置如下属性: ul { scroll-snap-type: x mandatory; li { scroll-snap-align...: start; } } 效果如下: 仔细看会发现,我们松手的时候,会将最近的元素动到最右边(初始位置,对于Y轴来讲就是顶部,X轴则是右边) 也可以设置出现在中间: li { scroll-snap-align

2.9K20

打造聊天框丝滑滚动体验:AI 聊天框的翻转之道

我们需要开发一个类似微信聊天框的交互体验:每当聊天框中展示新消息,需要将聊天框滚动到底部,展示最新消息。...如果在 web 什么也不做,聊天体验可能是这样的,需要用户手动滚动到最新消息:试想一下如何在 web 中实现微信的效果。每当聊天框中接收到新消息,都需要调用滚动方法滚动到消息底部。...滚动条怎么跑到左边,并且滚动行为和鼠标滚轮的方向反了,滚轮向上,聊天框却向下。...这时只需要在聊天列表的最开始设置一个空白的占位元素,把它的 CSS 设置为:flex-grow: 1;flex-shrink: 1;就可以实现消息少的时候自动撑开,把消息撑到顶部。...消息列表开始滚动,占位元素又会被挤压消失,不影响列表滚动效果。

1.1K21

jQuery scroll()方法:页面滚动到一定位置触发事件返回顶部

说在前面: 在日常工作中难免会遇到一些滚动事件的应用,页面滚动到一定位置显示 返回顶部 按钮,header 头部 fixed 固定等,这时候就可以使用 scroll() 方法来实现我们的需求。...定义和用法 当用户滚动指定的元素,会发生 scroll 事件。该事件适用于所有可滚动的元素和 window 对象(浏览器窗口)。...语法: $(selector).scroll() 应用: 我们监听滚动事件,放滚动到 400px ,出发显示返回顶部标签,然后给该标签,绑定一个事件,点击返回顶部。...HTML部分: 返回顶部 CSS部分: body{     height: 2000px; } .goTop{     position...*/         $('.goTop').click(function() {             $('body,html').animate({                 scrollTop

6.1K30

2019-08-09 满屏切换vue项目中使用 vue-fullpage.js

padding,当我们要设置一个固定顶部的菜单、导航、元素使用 // paddingTop: "100px", // //设置每个section底部的padding,当我们要设置一个固定在底部的菜单...、导航、元素使用 // paddingBottom: "100px", // //固定元素,为jquery选择器;可用于顶部导航等 // fixedElements...padding,当我们要设置一个固定顶部的菜单、导航、元素使用 // paddingTop: "100px", // //设置每个section底部的padding,当我们要设置一个固定在底部的菜单...、导航、元素使用 // paddingBottom: "100px", // //固定元素,为jquery选择器;可用于顶部导航等 // fixedElements...元素还在;如果使用all,则样式和html等全部被销毁 // destroy(type); // //重新更新页面和尺寸,用于通过ajax请求后改变了页面结构之后,重建效果 // reBuild

11.7K30

【CSS】绝对定位元素设置 水平 垂直 居中 ( 绝对定位元素居中设置 - 先偏移 50% 再回退子元素一半尺寸 | 绝对定位居中设置 )

使 绝对定位 元素 水平 / 垂直 居中 最简单的方法就是 使用标尺测量父容器的宽高 , 通过设置四个边的边偏移量 , 设置元素 水平 / 垂直 居中 ; 2、先偏移50%再回退固定值 父容器 盒子...-40px; /* 内容尺寸 */ width: 80px; height: 80px; background-color: blue; } 设置垂直居中 : 先设置子元素顶部动到父容器垂直中心位置...: absolute; /* 该盒子在父容器右下角 */ /* 顶部动到垂直中心位置 */ top: 50%; /* 右边偏移 0 紧贴右侧 */ right: 0;...DOCTYPE html> 绝对定位示例 /* 最外层...* 顶部动到垂直中心位置 */ top: 50%; /* 右边偏移 0 紧贴右侧 */ right: 0; /* 垂直方向上 , 再向上走 40 像素 使得垂直居中 */

1.7K40

史上最易懂——ReactNative分组列表SectionList使用详情及示例详解

目录 1、SectionList简述 2、SectionList常用属性和方法 3、SectionList示例,通讯录实现以及源码 正文 1、SectionList简述 ReactNative长列表数据组件一共有三个...注意这第一批次渲染的元素不会在滑动过程中被卸载,这样是为了保证用户执行返回顶部的操作,不需要重新渲染首批元素。...Key的作用是使React能够区分同类元素的不同个体,以便在刷新能够确定其变化的位置,减少重新渲染的开销。若不指定此函数,则默认抽取item.key作为key值。...比如说,viewPosition 为0将这个列表项滚动到可视区顶部 (可能会被顶部粘接的header覆盖), 为1将它滚动到可视区底部, 为0.5将它滚动到可视区中央。...viewOffset是一个以像素为单位,到最终位置偏移距离的固定值,比如为了弥补粘接的header所占据的空间 注意: 如果没有设置getItemLayout,就不能滚动到位于外部渲染区的位置。

4.5K140

神奇的position:sticky

(设置是top、left等属性无效),当该元素的位置将要移出偏移范围,定位又会变成fixed,根据设置的left、top等属性成固定位置的效果。...sticky特点 sticky属性有以下几个特点: 该元素并不脱离文档流,仍然保留元素原本在文档流中的位置。 当元素在容器中被滚动超过指定的偏移值元素在容器内固定在指定位置。...亦即如果你设置了top: 50px,那么在sticky元素到达距离相对定位的元素顶部50px的位置固定,不再向上移动。...元素固定的相对偏移是相对于离它最近的具有滚动框的祖先元素,如果祖先元素都不可以滚动,那么是相对于viewport来计算元素的偏移量。...(1)的位置,导航(2)显示(导航一此时依然显示,只是我们用导航二层级将导航一遮挡)————-此时我们看到窗口顶部的导航是:导航(2) 当滚动到小于导航(1)的位置,导航(2)隐藏(导航一显示)——

1.8K20

让剁手党洞察物体细节,“放大镜”当之无愧

: 获取元素(含边框)自身高度 scrollLeft: 获取元素的左距离 scrollTop: 获取元素的上距离 event.clientX: 元素的X坐标 event.clientY: 元素的Y坐标...onmouseover: 当鼠标指针位于元素上方,会发生mouseover事件 onmouseout: 当鼠标指针从元素上移开,发生mouseout事件 onmousemove: 当鼠标指针在指定的元素中移动...当鼠标移动到原图上,通过对大图进行位置控制来显示对应的部位。 2....当鼠标移动到box上方,move块将显示,同时在放大区中显示大图的对应位置,所以我们在这里需要使用mousemove事件监听,当我们鼠标移入box,就需要获取当前鼠标的相对坐标位置。...- (mov.offsetWidth / 2); //获取移动move块距父级的顶部距离 4.临界值判断,当move的移动距离超出了box的范围,需要限制其最大移动值与最小移动值。

1.3K80

CSS粘性定位是怎样工作的

在第一个例子中,大家很容易就能看明白 当视口到达定义的位置元素会被粘住。 例: ? 但问题是,它有时候能用,而有时却不起作用。 当它工作元素会粘住,但在滚动到其他部分,它会停止粘贴。...粘性容器 —— 是包装粘性元素HTML 元素。 这是粘性元素可以浮动的最大区域。 当你定义一个具有 position:sticky 样式的元素,父元素会被自动定义为粘性容器!...固定 —— 当元素被粘住,它的行为与 position: fixed 完全相同,浮动在与视口的相同位置,并从流中移除。...绝对 —— 在粘贴区域的末尾,元素会停止,并堆叠在另一个元素顶部,就像一个绝对定位的元素被放在一个 position: relative 容器内的行为。 粘在底部?...完整示例: HTML ? CSS ?

1.8K10

Js如何实现当网页超过一屏导航菜单始终置顶-吸顶盒效果

前言 我们平时在逛一些电商网站,无论是首页还是详情页,通常会有一个导航菜单石红跟随着页面,无论是页面滚动到中间还是底部 这是为了方便用户查看商品的各类信息或提交订单购物 也就是吸顶盒效果,那这个效果是怎么实现的...原生Js 如下是原生js // 初始化函数 function init() { // 获取顶部元素的DOM var wrap = document.getElementById("wrap...把顶部的导航菜单设置固定 if(scrollTop > 150) { wrap.className = "fix-top"; // 固定顶部的样式...class="wrap"> 总结 要想实现一个层始终固定在屏幕的顶部或底部...当超过一定的范围以后,才有必要为导航菜单设置固定的position样式 其实也有另外一种解决办法,就是导航栏始终是固定顶部,当拉动滚动条到一定的范围,就改变背景色,也是一种解决办法

3.3K50

基于JS实现回到页面顶部的五种写法(从实现到增强)

元素未滚动,scrollTop的值为0,如果元素被垂直滚动了,scrollTop的值大于0,且表示元素上方不可见内容的像素宽度   由于scrollTop是可写的,可以利用scrollTop来实现回到顶部的功能...如果为true,表示元素顶部与当前区域的可见部分的顶部对齐(前提是当前区域可滚动);如果为false,表示元素的底部与当前区域的可见部分的尾部对齐(前提是当前区域可滚动)。...如果没有提供该参数,默认为true   使用该方法的原理与使用锚点的原理类似,在页面最上方设置目标元素,当页面滚动,目标元素被滚动到页面区域以外,点击回到顶部按钮,使目标元素重新回到原来位置,则达到预期效果...【1】显示增强   使用CSS画图,将“回到顶部”变成可视化的图形(如果兼容IE8-浏览器,则用图片代替)   使用CSS伪元素及伪类hover效果,当鼠标移动到元素,显示回到顶部的文字,移出不显示...DOCTYPE html> Document .box{

5K21
领券