您现在的位置是:网站首页> 编程资料编程资料
CSS实现fullpage.js全屏滚动效果的示例代码纯CSS实现的三种通知栏滚动效果css3 实现滚动条美化效果的实例代码使用纯 CSS 实现滚动阴影效果纯css3实现横向无限滚动的示例代码CSS3制作圆形滚动进度条动画的示例Css3实现无缝滚动防抖CSS实现导航固定的、左右滑动的滚动条制作方法通过css动画实现一个表格滚动轮播效果纯CSS实现隐藏滚动条但仍具有滚动的效果(移动端和pc端)css3动画 小球滚动 js控制动画暂停
2021-09-02
1441人已围观
简介 这篇文章主要介绍了CSS实现fullpage.js全屏滚动效果的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
最近研究CSS的时候发现了 仅使用两个CSS属性就可以制作出全屏滚动效果 ,这两个属性就是:
- scroll-snap-type
- scroll-snap-align
使用它就可以实现 fullpage.js 这种全屏滚动效果,其实,这种全屏滚动效果的理论非常简单,就是使用js监听界面滚动,当界面滚动到某个值时就让界面持续滚动到下一个屏幕,但是!要考虑到屏幕尺寸大小带来的兼容性问题就是一件非常麻烦的事情。
今天说的这两个属性并不能替代 fullpage.js ,有下面2个原因:
- 它们在浏览器上面存在兼容性问题。
- CSS属性无法监听事件,也就无法提供动画完成时的回调函数。
1. 兼容性
目前主流的浏览器都已经支持了这两个CSS属性,可以放心的使用。如果你需要兼容IE浏览器,那么请选择 fullpage.js 。
2. 使用
使用的方法其实很简单, scroll-snap-type 属性放在 需要全屏滚动的容器的父容器上 ,而 scroll-snap-align 则需要 放在全屏滚动的容器上 ,多说无益,我们直接来看一下代码就可以很清楚的知道如何使用这两个CSS属性。

整个网页的完整代码很简单,下面直接将它贴上来:
CSS scroll snap A subtitle lives here
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus deleniti dignissimos ducimus expedita iure maxime qui rerum veniam voluptatibus. Accusamus asperiores assumenda atque consectetur consequuntur culpa cum deserunt dicta distinctio error excepturi fuga ipsa iste magnam modi nobis, obcaecati, pariatur perspiciatis placeat quo quod reiciendis repudiandae saepe soluta tempora unde vel? Aliquam exercitationem iste maiores placeat reprehenderit voluptates voluptatum. Ad at commodi culpa cumque debitis delectus dolorum, eius error et explicabo harum in ipsum iste labore laborum libero magni maiores nam non nostrum nulla officia pariatur quam quasi quia quo recusandae reprehenderit saepe similique vel vero vitae voluptas voluptatem! Quibusdam.
A subtitle lives here
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus deleniti dignissimos ducimus expedita iure maxime qui rerum veniam voluptatibus. Accusamus asperiores assumenda atque consectetur consequuntur culpa cum deserunt dicta distinctio error excepturi fuga ipsa iste magnam modi nobis, obcaecati, pariatur perspiciatis placeat quo quod reiciendis repudiandae saepe soluta tempora unde vel? Aliquam exercitationem iste maiores placeat reprehenderit voluptates voluptatum. Ad at commodi culpa cumque debitis delectus dolorum, eius error et explicabo harum in ipsum iste labore laborum libero magni maiores nam non nostrum nulla officia pariatur quam quasi quia quo recusandae reprehenderit saepe similique vel vero vitae voluptas voluptatem! Quibusdam.
A subtitle lives here
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus deleniti dignissimos ducimus expedita iure maxime qui rerum veniam voluptatibus. Accusamus asperiores assumenda atque consectetur consequuntur culpa cum deserunt dicta distinctio error excepturi fuga ipsa iste magnam modi nobis, obcaecati, pariatur perspiciatis placeat quo quod reiciendis repudiandae saepe soluta tempora unde vel? Aliquam exercitationem iste maiores placeat reprehenderit voluptates voluptatum. Ad at commodi culpa cumque debitis delectus dolorum, eius error et explicabo harum in ipsum iste labore laborum libero magni maiores nam non nostrum nulla officia pariatur quam quasi quia quo recusandae reprehenderit saepe similique vel vero vitae voluptas voluptatem! Quibusdam.
可以看到代码并不复杂,下面我们就着重讲解一下这两个CSS属性。
3. scroll-snap-type
该CSS属性拥有下面这些值:
none:当这个滚动容器的可视的 viewport 是滚动的,不做任何处理。
- x :滚动容器只捕捉其水平轴上的捕捉位置。
- y :滚动容器只捕捉其垂直轴上的捕捉位置。
- block:滚动容器仅捕捉到其块轴上的捕捉位置。
- inline:滚动容器仅捕捉到其内联轴上的捕捉位置。
- both:滚动容器会独立捕捉到其两个轴上的位置(可能会捕捉到每个轴上的不同元素)。
- mandatory :如果滚动容器被滚动,那么它超过临界值后会自动滚动到下个容器上。
- proximity :如果滚动容器被滚动,那么它超过临界值后不会自动滚动到下个容器上。
其中需要注意的就是上面粗体标注的几个属性,使用 mandatory 就是全屏滚动, 则当滚动过一定阈值后,会自动滚动到下一屏幕,如果没有滚动过某一阈值,则回弹。
而 proximity 不一样的是: 滚动过一定阈值后,就可以正常进行滚动(而 mandatory 是直接进入下一屏),如果没有滚动过某一阈值,则回弹。
理解这两个属性其实非常简单,将上面的代码改改自己体验下就明白了。
注:使用 mandatory ,如果 滚动容器的高度已经大于屏幕的高度时 需要慎用,因为可能会导致有一部分内容因为强制滚屏的原因导致阅读起来非常困难。
4. scroll-snap-align
该CSS属性拥有下面这些值:
none:该容器不会进行定义在父容器上面对应轴的捕捉。 start:该容器被捕捉的位置是该容器开始的部分。 end:该容器被捕捉的位置是该容器结束的部分。 center:该容器被捕捉的位置是该容器中间的部分。
用一张图可以很形象的明白这些属性所代表的容器位置:

5. 最后
因为我看到 scroll-snap 的 其它属性大部分都存在很严重的兼容性问题 ,所以就不在这里细讲了,如果有兴趣的话可以到 CSS Scroll Snap 直接查看,不过使用上面的这两个属性其实已经完全够用了。
参考文章:
到此这篇关于CSS实现fullpage.js全屏滚动效果的示例代码的文章就介绍到这了,更多相关CSS全屏滚动内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!
相关内容
- CSS新增的:where和:is伪类函数是什么详解css3中的伪类before和after常见用法CSS伪类:empty让我眼前一亮(实例代码)浅谈CSS 伪元素&伪类的妙用CSS 伪类修改input选中样式的示例代码css伪类 右下角点击出现 对号角标表示选中的示例代码css选择器四大类:基本、组合、属性、伪类详解如何使用CSS3中的结构伪类选择器和伪元素选择器解决移动端跳转问题(CSS过渡、target伪类)css3 伪类选择器快速复习小结
- CSS3 制作的图片滚动效果jQuery css3实现响应式图文卡片滚动轮播特效基于css3制作wow.js网页滚动图片元素动画效果纯css3实现的表情图片滚动旋转动画特效源码html5+css3技术实现3D网页内容上下左右四个方向滚动切换特效用CSS3+jQuery实现的垂直滚动图片菜单效果用CSS3+jQuery来实现的滚动图片菜单效果
- CSS3常见动画的实现方式
- CSS3实现的水平标题菜单一套CSS3的新拟物风格UI元素(复选框/按钮/菜单/搜索框/时钟)3组不同风格的CSS3后台管理系统菜单特效代码HTML+CSS3+JS 实现的下拉菜单CSS3实现菜单悬停效果CSS3悬停展开旋转菜单特效代码左侧竖直分类导航菜单CSS3代码漂亮的css3功能菜单多级的实现代码js+css3实现的蓝色手风琴图标菜单特效源码纯CSS3实现鼠标右键显示网页功能菜单特效css3实现鼠标悬停扇形导航菜单源码
- css3实现背景图片半透明内容不透明的方法示例css3实现背景图片颜色修改的多种方式css3制作的背景渐变动画效果CSS3实现模糊背景的三种效果示例CSS3 菱形拼图实现只旋转div 背景图片不旋转功能CSS3只让背景图片旋转180度的实现示例基于css3制作的圆形透明画中画视频播放特效JS+CSS3文章内容背景黑白切换特效代码css3实现简单的白云飘动背景特效CSS3 实现的动态星空背景
- CSS3 实现的图片悬停的切换按钮CSS3实现的九宫格图片鼠标悬停去除遮罩层特效源码JS+CSS3透明的霜雾玻璃图片预览特效CSS 实现 图片鼠标悬停折叠效果css3图片列表鼠标悬停遮罩特效代码css3鼠标悬停图片3D翻页显示文字描述特效CSS3图片鼠标悬停多种遮罩动画效果 42种纯CSS3实现悬停图片文字遮罩特效源码CSS3鼠标悬停图片遮罩变形动画特效CSS3鼠标滑过图片效果 用Font Awesome库实现悬停图标基于CSS3实现列表图片鼠标悬停动画特效源码
- 纯CSS实现酷炫的霓虹灯效果(附demo)CSS3.0实现霓虹灯按钮动画特效的示例代码
- CSS3实现三角形不断放大效果纯CSS3+DIV实现小三角形边框效果的示例代码详解css如何利用 :before :after 写小三角形CSS3 画基本图形,圆形、椭圆形、三角形等用CSS3绘制三角形的简单方法布局和排版教程 纯css3实现图片三角形排列使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)
- css3实现背景图片颜色修改的多种方式css3实现背景图片半透明内容不透明的方法示例css3制作的背景渐变动画效果CSS3实现模糊背景的三种效果示例CSS3 菱形拼图实现只旋转div 背景图片不旋转功能CSS3只让背景图片旋转180度的实现示例基于css3制作的圆形透明画中画视频播放特效JS+CSS3文章内容背景黑白切换特效代码css3实现简单的白云飘动背景特效CSS3 实现的动态星空背景
- CSS3 制作的悬停缩放特效基于Jquery和Css3代码制作可以缩放的搜索框一款jQuery+CSS3实现的动态缩放焦点图代码CSS3鼠标悬浮过渡缩放效果
