使用 UI-Grid 动画 ng-hide
Animate ng-hide with UI-Grid
我有一个表单,我在页面底部使用 ng-hide 来隐藏包含 UI-Grid table 的 div,如 Hidden Grids 文档中的教程。当用户点击提交按钮时,网格会按预期显示,但它的显示不是动画的。奇怪的是,包含网格的 div 看起来动画效果非常好。
我在这个Plunker中复制了这个问题,这里是相关代码以供参考。这个真的难倒我,所以非常感谢任何建议。谢谢!
HTML
<h4><a href="#" ng-click="hidden = ! hidden">Reveal</a></h4>
<div class="background animate-hide" ng-hide="hidden">
<div id="grid1" ui-grid="{ data: myData }" class="grid"></div>
</div>
CSS
.grid {
width: 500px;
height: 250px;
display: block;
position:relative;
}
.background {
padding: 15px;
background-color: #F7F7F7;
}
.animate-hide {
transition: opacity 0.4s ease-out 0.1s !important;
transition: height 0.5s ease-out !important;
opacity: 1;
height: 260px;
}
.animate-hide.ng-hide {
opacity: 0;
height: 0;
}
}
由于网格有明确的高度设置,它会溢出 .background
div。 overflow
CSS 属性 的默认值为 visible
,这意味着网格将溢出其容器的尺寸并完全可见。
您可以通过将 overflow: hidden
添加到您的 .animate-hide
class:
来解决此问题
.animate-hide {
transition: opacity 0.4s ease-out 0.1s !important;
transition: height 0.5s ease-out !important;
opacity: 1;
height: 260px;
overflow: hidden;
}
这是显示效果的更新插件:http://plnkr.co/edit/3kO5HqSZTGVM8A3YScYq?p=preview
我有一个表单,我在页面底部使用 ng-hide 来隐藏包含 UI-Grid table 的 div,如 Hidden Grids 文档中的教程。当用户点击提交按钮时,网格会按预期显示,但它的显示不是动画的。奇怪的是,包含网格的 div 看起来动画效果非常好。
我在这个Plunker中复制了这个问题,这里是相关代码以供参考。这个真的难倒我,所以非常感谢任何建议。谢谢!
HTML
<h4><a href="#" ng-click="hidden = ! hidden">Reveal</a></h4>
<div class="background animate-hide" ng-hide="hidden">
<div id="grid1" ui-grid="{ data: myData }" class="grid"></div>
</div>
CSS
.grid {
width: 500px;
height: 250px;
display: block;
position:relative;
}
.background {
padding: 15px;
background-color: #F7F7F7;
}
.animate-hide {
transition: opacity 0.4s ease-out 0.1s !important;
transition: height 0.5s ease-out !important;
opacity: 1;
height: 260px;
}
.animate-hide.ng-hide {
opacity: 0;
height: 0;
}
}
由于网格有明确的高度设置,它会溢出 .background
div。 overflow
CSS 属性 的默认值为 visible
,这意味着网格将溢出其容器的尺寸并完全可见。
您可以通过将 overflow: hidden
添加到您的 .animate-hide
class:
.animate-hide {
transition: opacity 0.4s ease-out 0.1s !important;
transition: height 0.5s ease-out !important;
opacity: 1;
height: 260px;
overflow: hidden;
}
这是显示效果的更新插件:http://plnkr.co/edit/3kO5HqSZTGVM8A3YScYq?p=preview