【发布时间】:2015-02-28 11:38:11
【问题描述】:
我的页面上有一个容器,它有背景和最小高度。在容器内,我有几个用 ng-if 逻辑切换的“页面”div。这些页面是动态的,因此父容器的高度取决于这些子容器的高度。基本结构是这样的:
<div class="container">
<div class="page">
Page 1
</div>
<div class="page">
Page 2
</div>
</div>
到目前为止,一切都很好。在这些页面之间切换按我的预期工作,并且容器高度根据需要延伸。但是,我需要在页面之间添加交叉淡入淡出过渡,以便它们很好地相互淡入淡出。为此,我需要绝对定位容器内的“页面”元素,以便 DOM 在过渡期间不会跳来跳去。但是,很明显,这会将它们从文档流中移除,并阻止父容器正确获取其高度。由于我的 DOM 的其余部分依赖于这个高度,它破坏了我的布局。
我已经创建了一个基本的笔来说明问题 - 在第二行取消注释 position: absolute 以查看交叉淡入淡出的外观:
http://codepen.io/JarredMack/pen/xbzWgx
对于这个问题,是否有不需要使用 Javascript 即时重新计算高度的优雅解决方案?
【问题讨论】:
标签: angularjs css-animations fade ng-animate