CSS溢出的问题,我已经AngularJS,引导和Animate.css成立这样当我点击一个面板头,身体幻灯片英寸与Animate.css和Bootstrap选
为了让包含动画在面板中,我添加了overflow-x: hidden
到.panel
类。
然而,这导致我使用的.panel-body
DIV下拉插件被切断(西尔维奥Moreto的优秀bootstrap-select plugin使用an AngularJS directive实现)。
见下文:
这里有一个plunker这样你就可以查看代码,看看自己:
http://plnkr.co/edit/dAP9OqFI0h95qtC56FTE?p=preview
如果我使用一个普通<select>
代替插件,它工作正常。
下拉插件添加了标记,我认为这是在div的overflow-x
规则的摆布......因此导致问题。
反正我可以修改我的标记/ CSS允许选择当面板的下拉菜单“突围”?
优选地,我想避免修改插件的CSS。
感谢您的帮助! :)
编辑: 为了澄清,这是影响我想:http://i.imgur.com/WMluRjg.png :)
解决!
我以前接受的答案,在这里我使用ngAnimate的beforeRemoveClass
方法来隐藏溢出立即“NG隐藏”类被删除之前的变化,然后将其添加回CSS动画完成后:
app.animation('.slide', function() {
return {
removeClass: function(element, className, doneFn) {
var duration = 0.3;
element.css('-webkit-animation', 'slideInRight '+(duration)+'s')
.css('-moz-animation', 'slideInRight '+(duration)+'s')
.css('-o-animation', 'slideInRight '+(duration)+'s')
.css('animation', 'slideInRight '+(duration)+'s');
// After the css animation has completed, allow overflow on the parent panel again.
setTimeout(function(){
element.closest('.panel').removeClass('no-overflow');
}, (duration * 1000));
doneFn();
},
beforeRemoveClass: function(element, className, doneFn){
// Prevent overflow on closest panel
element.closest('.panel').addClass('no-overflow');
doneFn();
}
}
});
@ humble.rumble.6x3首先,感谢您的答复! :)我还没有尝试过,但我希望避免使用Javascript(特别是基于事件的JS),如果可能的话......如果我无法用CSS实现它,我会考虑一个JS替代方案。 – Andrew