https://codepen.io/cfxd/pen/Zdvygp
enabled = false
设置为再次检查)100vh
,宽50%我觉得也许我错过了一些使它更容易扩展的东西,因为如果我最终得到了6行卡片,那么所有场景的代码都变得笨拙。即使使用for循环,代码也非常不可读。是否有一种技术可以使此操作更容易且更易于管理?
此外,当浏览器调整大小时,生产环境会遇到严重的对齐问题。您可以使用the full page codepen,然后:
我听说它讨论过这种调整大小的问题应该在CSS中解决,但是我不清楚这是否适用于这种情况,如果适用,甚至从哪里开始。
任何指针将不胜感激。
<div class="container">
<div class="img-full">Fullscreen Image</div>
<div class="rows">
<div class="row row-1">
<div class="card card-content pin-1-1">Content 1</div>
<div class="card card-image pin-1-2">Image 1</div>
</div>
<div class="row row-2">
<div class="card card-content pin-2-1">Content 2</div>
<div class="card card-image pin-2-2">Image 2</div>
</div>
</div>
</div>
<footer>Footer</footer>
body {
margin: 0;
}
.container {
margin-bottom: 20vh;
}
.img-full {
width: 100%;
height: 100vh;
background-color: #e6eae1;
display: flex;
align-items: center;
justify-content: center;
}
.rows {
position: relative;
}
.row {
display: flex;
flex-wrap: nowrap;
}
.row:nth-child(even) {
flex-direction: row-reverse;
}
.card {
width: 50%;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
.card-content {
background: #ccc;
}
.card-image {
background-color: #70A9A1;
}
footer {
background: #C52;
height: 20vh;
position: fixed;
right: 0;
bottom: 0;
left: 0;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
z-index: -1;
}
(function() {
var enabled = true;
var controller = new ScrollMagic.Controller();
if(enabled) {
new ScrollMagic.Scene({
triggerElement: '.img-full',
triggerHook: 'onLeave',
duration: '150%',
})
.setPin('.img-full', {pushFollowers: false})
.addTo(controller);
new ScrollMagic.Scene({
triggerElement: '.pin-1-2',
triggerHook: 'onEnter',
duration: '50%',
})
.setPin('.pin-1-2', {pushFollowers: false})
.addTo(controller);
new ScrollMagic.Scene({
triggerElement: '.pin-1-1',
triggerHook: 'onLeave',
duration: '50%',
})
.setPin('.pin-1-1', {pushFollowers: false})
.addTo(controller);
new ScrollMagic.Scene({
triggerElement: '.pin-1-2',
triggerHook: 'onLeave',
duration: '100%',
offset: (document.querySelector('.pin-1-2').offsetHeight / 2),
})
.setPin('.pin-1-2', {pushFollowers: false})
.addTo(controller);
new ScrollMagic.Scene({
triggerElement: '.pin-2-2',
triggerHook: 'onEnter',
duration: '50%',
})
.setPin('.pin-2-2', {pushFollowers: true})
.addTo(controller);
new ScrollMagic.Scene({
triggerElement: '.pin-2-2',
triggerHook: 'onLeave',
duration: '100%',
offset: (document.querySelector('.pin-2-2').offsetHeight / 2),
})
.setPin('.pin-2-2', {pushFollowers: true})
.addTo(controller);
new ScrollMagic.Scene({
triggerElement: '.pin-2-1',
triggerHook: 'onEnter',
duration: '150%',
})
.setPin('.pin-2-1', {pushFollowers: true})
.addTo(controller);
}
})();