我在将scrollreveal.js和flexbox一起使用时遇到问题。

我使用display flex在页面上创建了几行两列,当尝试使用scrollreveal引用分别显示每一列时,只有其中一列在工作。

有什么变通办法,同时仍然能够维护flex属性?

的HTML

<div class="grid">
  <div class="column __50 __reveal">one</div>
  <div class="column __50 __reveal">two</div>
</div>

的CSS
.grid {
  display: flex;
}

.column.__50 {
  width: 50%;
}

JS
window.sr = ScrollReveal({
  distance: '30px',
  duration: 1000,
  scale: 0
});
sr.reveal('.__reveal');

最佳答案

如果我清楚地了解您:

  • 给定-现有代码
  • 滚动页面时
  • 然后-列应滚动到 View

  • 我提供了一个片段,表明它确实可以根据您的代码工作,但您必须提供足够的空间以使滚动显示效果发生。

    去测试

    添加一个从初始 View 占用空间的div。

    .column.__50类添加一个高度,以便您可以实际看到它。

    添加边框,以便查看边框的放置方式,可以在不再需要边框时将其注释掉。 “调试”和可视化div的良好做法。

    window.sr = ScrollReveal({
            distance: '30px',
            duration: 1000,
            scale: 0
        });
        sr.reveal('.__reveal');
    .grid {
      display: flex;
    }
    .column.__50 {
      width: 50%;
      height: 800px;
      border: 2px solid black;
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/scrollReveal.js/4.0.0-beta.25/scrollreveal.js"></script>
    <div class="grid">
      <div class="column __50 ">
        No class="__reveal 1"
      </div>
      <div class="column __50 ">
        No class="__reveal 2"
      </div>
    </div>
    <div class="grid">
      <div class="column __50 __reveal">
        one
      </div>
      <div class="column __50 __reveal">
        two
      </div>
    </div>

    08-15 17:10