纯css滚动视差
1.何为滚动视差
视差滚动(Parallax Scrolling)是指让多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验。 作为网页设计的热点趋势,越来越多的网站应用了这项技术。效果如图:

一般而言,滚动视差在前端需要辅助 Javascript 才能实现。当然,其实 CSS 在实现滚动视差效果方面,也有着不俗的能力。
2.认识 background-attachment
background-attachment:如果指定了 background-image ,那么 background-attachment 决定背景是在视口中固定的还是随着包含它的区块滚动的。
(1)background-attachment: scroll
scroll 此关键字表示背景相对于元素本身固定, 而不是随着它的内容滚动。
(2)background-attachment: local
local 此关键字表示背景相对于元素的内容固定。如果一个元素拥有滚动机制,背景将会随着元素的内容滚动, 并且背景的绘制区域和定位区域是相对于可滚动的区域而不是包含他们的边框。
(3)background-attachment: fixed
fixed 此关键字表示背景相对于视口固定。即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。
注意一下 scroll 与 fixed,一个是相对元素本身固定,一个是相对视口固定,有点类似 position 定位的 absolute 和 fixed。
CodePen Demo — bg-attachment Demo(https://codepen.io/Chokcoco/pen/xJJorg)
3.代码实现
html:
<section class="g-word">Header</section>
<section class="g-img g-img-1">IMG1</section>
<section class="g-word">Content1</section>
<section class="g-img g-img-2">IMG2</section>
<section class="g-word">Content2</section>
<section class="g-img g-img-3">IMG3</section>
<section class="g-word">Footer</section>
css:
 1     * {
       padding:;
       margin:;
     }
     section {
       height: 100vh;
       line-height: 100vh;
       text-align: center;
       font-size: 50px;
       font-weight: bold;
     }
     .g-img {
       background-attachment: fixed;
       background-size: cover;
       background-position: center center;
     }
     .g-img-1 {
       background-image: url('./image/01.jpg');
     }
     .g-img-2 {
       background-image: url('./image/02.jpg');
     }
     .g-img-3 {
       background-image: url('./image/03.jpg');
     }
图片资源自行填充。
至此,css滚动视差效果制作完成。
纯css滚动视差的更多相关文章
- 不可思议的纯 CSS 滚动进度条效果
		结论先行,如何使用 CSS 实现下述滚动条效果? 就是顶部黄色的滚动进度条,随着页面的滚动进度而变化长短. 在继续阅读下文之前,你可以先缓一缓.尝试思考一下上面的效果或者动手尝试一下,不借助 JS , ... 
- css 滚动视差   之   水波纹效果
		核心属性: background-attachment 这个属性就牛逼了, 它可以定义背景图片是相对视口固定, 还是随着视口滚动, 加上这个属性网页瞬间就从屌丝变成 高大上. 我们来看个例子: htm ... 
- 纯css滚动公告栏目
		<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ... 
- 一、纯css实现顶部进度条随滚动条滚动
		一.效果图 二.直接复制粘贴 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ... 
- Sultana后记:纯css也能写col,select,datepicker,carousel...
		未完待续 背景 如今css3越来越发达,focus-within等属性也已经开始在Chrome得到支持.如果有出色的css功底,一点点ps技能,你也能用css3配合原生html标签写出优秀的框架.通过 ... 
- 你所不知道的 CSS 阴影技巧与细节  滚动视差?CSS 不在话下  神奇的选择器 :focus-within  当角色转换为面试官之后  NPOI 教程 - 3.2 打印相关设置  前端XSS相关整理  委托入门案例
		你所不知道的 CSS 阴影技巧与细节 关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow ... 
- 使用纯 CSS 实现滚动阴影效果
		开门见山,有这样一种非常常见的情况,对于一些可滚动的元素而言.通常在滚动的时候会给垂直于滚动的一侧添加一个阴影,用于表明当前有元素被滚动给该滚出了可视区域,类似这样: 可以看到,在滚动的过程中,会出现 ... 
- js控制固定div和随屏滚动div兼容多浏览器和纯css控制(来自网络)
		<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ... 
- 滚动视差?CSS 不在话下
		何为滚动视差 视差滚动(Parallax Scrolling)是指让多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验. 作为网页设计的热点趋势,越来越多的网站应用了这项技术. 通常 ... 
随机推荐
- UDP ------ UDP Broadcast Address
			Related information link : 百度百科---->广播地址 Use restrictions: 1. You can only broadcast on the same ... 
- Python中的requests模块注意事项
			主要是说requests.post()方法, 参数: url : 这就不解释了 data: 如果传入的是字典类型,则字典在发出请求时会自动编码为表单形式,表单形式会将字典中的键和值进行一些操作: ... 
- 在ubuntu server上搭建Hadoop
			1. Java安装: Because everything work with java. $ sudo apt-get install openjdk-7-jdk 安装之后,可以查看java的版本信 ... 
- Java基础-Java中的堆内存和离堆内存机制
			Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 
- 关于swiper的tab(选项卡)中设置了autoHeight没有效果解决
			autoHeight属性使用看官网的示例:https://www.swiper.com.cn/api/parameters/294.html swiper的选项卡结构查看:https://www.sw ... 
- 说说Cookie和Session
			Session和Cookie在网站开发中是用来保存用户与后端服务器的交互状态.它们有各自的缺点和优点.而且,他们的优点和应用场景是对立的. Cookie 完整地描述:当一个用户通过HTTP访问一个 ... 
- SQL语句(十一)函数查询
			(十一)函数查询 1. 聚合函数 对一组值进行计算,得到一个返回值 SUM(), 求和 AVG(), 求平均 MIN(), 求最小 MAX(), 求最大 COUNT(), 计数,即个数 --例1 求所 ... 
- [QuickRoR]Ruby on Rails开发环境安装
			1.Setup Ruby on Rails2.Test Web App3.Create the First Web App 1.Setup Ruby on Rails1) Download rubyi ... 
- Angular 下的  directive (part 2)
			ngCloak ngCloak指令被使用在,阻止angular模板从浏览器加载的时候出现闪烁的时候.使用它可以避免闪烁问题的出现. 该指令可以应用于<body>元素,但首选使用多个ng ... 
- c++刷题(30/100)
			题目一:合并两个排序的链表 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 思路:利用两个指针cur1,cur2来指分别向两个链表中当前较小的和当前较大的 ... 
