在我网站的主页上,我使用滚动动画库在向下滚动时显示页面的不同部分。我希望父 div 最初只有第一个子 div ( .intro
) 的高度。向下滚动时,框的高度会扩大以适应内容的整个高度。
它现在使用 Vue.js 中的动态类绑定部分工作,滚动后将高度更改为 100%。但是当我将它设置为绝对值时,我只能得到正确的初始高度,这不是我想要的。
<div class="home-box" :class="{ fullView: isScrolled}">
<div class="intro">
Only this content is displayed at first
</div>
<div class="about"
data-aos="fade-up"
data-aos-anchor-placement="top-center"
data-aos-once="true">
Then this gets revealed
</div>
<div class="work"
data-aos="flip-up">
Finally this div is revealed
</div>
</div>
.home-box {
width: 60%;
margin: 3rem auto;
height: 30rem;
}
.fullView {
height: 100%;
}
我尝试将初始高度设置为不同的百分比(从 1% 到 99%),但这无济于事。使用height: 70vh
是我最接近解决方案的方法,但这仍然会导致不同屏幕尺寸的问题。
display: none
在其他子 div ( .about
and ) 上使用.work
可以解决我的高度问题,但我需要所有隐藏的内容留在页面上以触发不同的方法和动画,所以我不能使用它。
我真的很喜欢一个响应速度更快的解决方案,它可以将父高度与第一个子 div 的高度相匹配。有没有办法只使用 CSS 来做到这一点?还是使用 Vue.js 或 Javascript?