Jquery 崩溃中的自举下拉,

Jquery 崩溃中的自举下拉,,jquery,css,twitter-bootstrap,overflow,collapse,Jquery,Css,Twitter Bootstrap,Overflow,Collapse,我使用的是Bootstrap 2.0.3,在div中有可折叠/可扩展的下拉菜单。当下拉菜单溢出div时,它们会被切断(但不应该)。Jsfiddle来说明: 在Bootstrap 2.0.2中,菜单不会被切断: 通过使用css规则,我找到了如下解决方法: #stuff.in { overflow: visible; } 每当标记为“collapse”的div被扩展时,bootstrap就会添加“in”css类 不幸的是,这种解决方法在Firefox中完全失效 有什么想法吗?我正在考虑降级到B

我使用的是Bootstrap 2.0.3,在div中有可折叠/可扩展的下拉菜单。当下拉菜单溢出div时,它们会被切断(但不应该)。Jsfiddle来说明:

在Bootstrap 2.0.2中,菜单不会被切断:

通过使用css规则,我找到了如下解决方法:

#stuff.in {
  overflow: visible;
}
每当标记为“collapse”的div被扩展时,bootstrap就会添加“in”css类

不幸的是,这种解决方法在Firefox中完全失效


有什么想法吗?我正在考虑降级到Bootstrap 2.0.2,但那会很痛苦。

尝试使用
!重要信息
标志,正如在Firefox中所显示的那样,出于某些原因,属性以不同的优先级读取


这里的问题似乎是在2.0.3中,引导将
.collapse
类应用于
#stuff
元素。在引导css中,有一种样式:

.collapse {
    overflow: hidden;
}
但是,当您展开
.collapse
目标时,
overflow
属性将保持
hidden

不确定这是否是一个bug(必须深入研究,看看这样做是否有任何缺点),但是修改
.collapse.in
的规则就行了

.collapse.in {
    height: auto;  /* this style already exists in bootstrap.css */
    overflow: visible;  /* this one doesn't. Add it! */
}
如果您不想修改Bootstrap的CSS(可能会产生注释中提到的意外副作用),可以将
显示的
隐藏的
事件处理程序添加到
#stuff
元素中,以修改
溢出
属性:

$('#stuff').on({
    shown: function(){
        $(this).css('overflow','visible');
    },
    hide: function(){
        $(this).css('overflow','hidden');
    }
});

我用Bootstrap 2.1.1尝试过你的解决方法,但它在Firefox16中出现了故障,第一次工作,然后根本没有打开

在我的例子中,问题只是访问者第一次打开可折叠元素并应用内联固定高度。第二次高度设置为自动

因此,我发现问题取决于导航折叠元素的html代码,该元素最初没有声明状态:

<div class="nav-collapse">
首先,代码如下:

<div class="nav-collapse">

然后在第一次展开后,引导指定固定高度:

<div class="nav-collapse in collapse" style="height: 286px;">

关闭后,第一次高度返回到0:

<div class="nav-collapse collapse" style="height: 0px;">

第二次打开,可与自动高度配合使用:

<div class="nav-collapse collapse" style="height: auto;">

因此,javascript需要class.collapse来设置自动高度:

<div class="nav-collapse collapse">


我花了一段时间才弄明白

我对此做了大量研究,通过在css中添加这行代码找到了解决问题的方法,我在


这对我来说是个窍门,希望这对你有用

你可能想更新JSFIDLE,使其包含CSS。我要补充一点,这将破坏手风琴组件之类的转换。如果您确实使用了这个选项,那么一定要使用一个更具体的选择器来应用它,而不仅仅是
。在
中。与对另一个答案的注释一样,
溢出:隐藏
没有改变的原因是,CSS转换在某些情况下看起来很糟糕,特别是对于依赖于这个类的手风琴。绝对不是一个错误。有效。我更新了答案,改为使用事件处理程序,只修改
溢出
属性,而
.collapse
元素完全展开。我不知道我喜欢在展开动画之前引导应用
.in
类中的
,但也会在塌陷动画之前移除它。对我来说,在
类中应用
,只要元素不隐藏,或者只有在元素完全可见的情况下才应用它,这似乎更有意义。但这正是CSS3转换首先起作用的原因!事实上,它们包括了
隐藏/隐藏
显示/显示
,我认为这为控制提供了很大的空间,正如您的解决方案所展示的那样;我总是忘记他们使用的是css3转换,而不是基于javascript的动画。你完全正确。
.collapse.in[style="height: auto;"] {overflow: visible;}