Twitter Bootstrap Accordion内でjQuery Chosenを使用しています。この質問への回答を使用して、選択されたドロップダウンがアコーディオン本体によって切り取られる問題を解決しました。これにはまだ別の問題が残っています。アコーディオンは滑り落ちて高さが伸びますが、伸びすぎて適切な高さに戻ります。
この jsfiddleは問題を示しています。問題の図を次に示します。
.
問題を再現するコード
この問題を再現するために、次のコードを使用しました。
<div class="accordion" id="accordion1">
<div class="accordion-group">
<div class="accordion-heading"> <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion1" href="#body1">First group</a>
</div>
<div class="accordion-body collapse" id="body1">
<div class="box-content">
<span>Body content!</span>
<select multiple="multiple" class="chzn-select">
<option>Option A</option><option>Option B</option><option>Option C</option><option>Option D</option><option>Option E</option><option>Option F</option><option>Option G</option>
</select>
</div>
</div>
</div>
</div>
このコードで選択したドロップダウンを有効にします:
$(document).ready(function() {
$('.chzn-select').chosen();
});
そして、この CSS を使用して、言及されたオーバーフローの問題といくつかのデバッグ支援を修正します。
/* Styles for visualizing the problem: */
body, .box-content { padding: 10px; }
.accordion-body { background-color: #EEE; }
.accordion-heading { background-color: #DDD; }
/* Required to make sure the chosen select can expand outside the box: */
.collapse.in { overflow: visible; }
.
私が試したこと:
これを解決するために私が試みたことがいくつかあります:
- オーバーフローの問題を解決するさまざまなバリエーション。ただし、オーバーフローの問題に関係なく、私の問題が発生することに気付きました。
- 通常の選択を使用します。これは明らかに私の問題を回避しますが、真の解決策ではありません。
- 選択された選択の設定
height: 0
と。効果なし。display: none
.
質問
そもそもアコーディオンの高さが大きくなりすぎないようにし、すぐに正しいサイズに成長させるにはどうすればよいでしょうか?