【发布时间】:2013-09-20 12:07:34
【问题描述】:
我正在使用带有 jQuery 的 Twitter Bootstrap。
根据引导文档,如果您希望可折叠元素默认打开,请添加附加类“in”。如果您希望可折叠元素默认折叠,您可以将高度设置为 0px。
这一切都很好。
我想使用媒体查询将元素设置为在大屏幕上默认打开,在小屏幕上默认折叠(然后单击以切换两者)...
我的 HTML:
<div class="accordion" id="accordion1">
<div class="accordion-group">
<div class="accordion-heading">
Heading text.
<a class="accordion-toggle" data-toggle="collapse" href="#collapseOne">
(Click to show/hide)
</a>
</div>
<div id="collapseOne" class="accordion-body collapse">
<div class="accordion-inner">
Lorem ipsum.
</div>
</div>
</div>
</div>
我的 CSS:
@media (min-width: 768px) {
.collapse {
height: auto;
}
}
@media (max-width: 767px) {
.collapse {
height: 0px;
}
}
在您开始点击它之前,这一切正常……
低于 767px 的元素默认折叠,高于 767px 的元素默认打开。正确。
767px以下可以点击打开元素,打开正常。再次单击它会隐藏。冲洗并重复。正确。
当您单击以折叠元素时,超过 767 像素,它会关闭但随后会重新打开。再次单击它,它会关闭并这次保持关闭状态。再次单击它会正常打开。再次点击它就可以正常关闭了。
所以由于某种原因超过 767px(当元素默认打开时),需要两次单击才能使其保持折叠状态而不重新打开自身,然后它就可以正常工作了。
想法?
【问题讨论】:
标签: css twitter-bootstrap media-queries accordion collapse