利用css 实现 视觉差效果
预览效果:http://tridiamond.me/frontend-tutorials/parallaxImages/
html 布局:
<body> <div class="wrapper"> <div class="parallax-img1"> <div class="caption"> <span> <img src="../images/TriDiamond_logo_circle.png" alt="" height="80" width="80" /> <p>TriDiamond</p> 向下滑动 </span> </div> </div> <div class="center"> <h1>图片视差效果DEMO</h1> <p> 三钻因何而发生? 我们不得不面对一个非常尴尬的事实,那就是, 从这个角度来看, 三钻的发生,到底需要如何做到,不三钻的发生,又会如何产生。 三钻因何而发生? 既然如此, 在这种困难的抉择下,本人思来想去,寝食难安。 洛克在不经意间这样说过,学到很多东西的诀窍,就是一下子不要学很多。这启发了我, 在这种困难的抉择下,本人思来想去,寝食难安。 塞涅卡在不经意间这样说过,真正的人生,只有在经过艰难卓绝的斗争之后才能实现。这似乎解答了我的疑惑。 就我个人来说,三钻对我的意义,不能不说非常重大。 了解清楚三钻到底是一种怎么样的存在,是解决一切问题的关键。 对我个人而言,三钻不仅仅是一个重大的事件,还可能会改变我的人生。 总结的来说, 生活中,若三钻出现了,我们就不得不考虑它出现了的事实。 那么, 一般来讲,我们都必须务必慎重的考虑考虑。 经过上述讨论, 生活中,若三钻出现了,我们就不得不考虑它出现了的事实。 而这些并不是完全重要,更加重要的问题是, 要想清楚,三钻,到底是一种怎么样的存在。 雷锋说过一句富有哲理的话,自己活着,就是为了使别人过得更美好。这似乎解答了我的疑惑。 本人也是经过了深思熟虑,在每个日日夜夜思考这个问题。 问题的关键究竟为何? 三钻的发生,到底需要如何做到,不三钻的发生,又会如何产生。 拿破仑·希尔曾经说过,不要等待,时机永远不会恰到好处。带着这句话,我们还要更加慎重的审视这个问题: 这样看来, 迈克尔·F·斯特利说过一句富有哲理的话,最具挑战性的挑战莫过于提升自我。我希望诸位也能好好地体会这句话。 拉罗什福科曾经提到过,我们唯一不会改正的缺点是软弱。这句话语虽然很短,但令我浮想联翩。 这样看来, 就我个人来说,三钻对我的意义,不能不说非常重大。 从这个角度来看, 经过上述讨论, 经过上述讨论, 我们不得不面对一个非常尴尬的事实,那就是。 </p> </div> <div class="parallax-img2"> <div class="caption"> <span>不同高度,不同感觉</span> </div> </div> </div> </body>
css 代码:
<style> * { padding: 0; margin: 0; font-family: Candara; box-sizing: border-box; } body, html { background: #202020; height: 100%; } .wrapper { height: 100%; } .parallax-img1 { height: 100%; background-image: url('http://ppe.oss-cn-shenzhen.aliyuncs.com/collections/182/7/thumb.jpg'); } .parallax-img2 { min-height: 400px; background-image: url('http://ppe.oss-cn-shenzhen.aliyuncs.com/collections/182/5/thumb.jpg'); } .parallax-img1, .parallax-img2 { position: relative; background-attachment: fixed; //这里是关键代码 background-position: center; background-repeat: no-repeat; background-size: cover; } .caption { position: absolute; top: 50%; transform: translateY(-50%); width: 100%; text-align: center; display: flex; justify-content: center; } .caption > span { background: rgb(32, 32, 32, 0.85); color: #82fcfd; padding: 18px 50px; font-size: 30px; border-radius: 16px; } .caption p { margin: 0 0 15px 0; padding: 0 0 15px 0; border-bottom: 2px solid #82fcfd; } .caption > span p { font-size: 40px; } p { margin: 15px; font-size: 1.1rem; padding: 1.5rem 5rem; color: #fff; } .center { width: 1200px; margin: 0 auto; color: #ddd; } h1 { text-align: center; margin: 3rem 0 0 0; color: #fff; } </style>
background-attachment: fixed 是实现视差的主要代码,可以固定背景图的位置,从而实现视差的效果。
上面的代码并不完整,我之写了一部分完整代码可以去原文看,我只是简单记录一下,以免忘记