私のプロジェクトでは、フローティングされている複数のボタンがあります。デフォルトの状態では、使用していないボタンを非表示にする.hide()
かdisplay:none
、スクロールアウトしたいためです。
ここにすべてを説明するフィドルがありますFIDDLE
overflow:hidden
それは私の心の中でうまくセットアップされています(ただし、他の提案にも開かれています)。ボタンを展開する最良の方法は、ボタンを非表示にするのではなく、ラッパーを0%に設定してから、表示したいときに展開するという結論に達しましたラッパー、これは 1 つの要素/オブジェクトでは問題ありませんが、複数の要素/オブジェクトがフローティングされると壊れます。なぜそれを行うのか、そして解決策が素晴らしいのか知りたいです。
再びここにフィドルがあります
私が作成したすばらしいフィドルを見たくない場合に備えて、いくつかのコードを示します。
CSS:
.container {
background-color: #333;
padding: 10px 20px;
width: 100%;
overflow: hidden;
margin: 25px 0;
transition: 2s all ease;
}
.zero-width {
width: 0%
}
.stationary-object {
background-color: #eee;
width: 200px;
float: left;
margin: 0 0 0 10px;
color: #777;
}
HTML:
<!-- It works with one object, not with two -->
<div class="container">
<div class="stationary-object">I shouldnt move</div>
</div>
<!-- With objects floated it breaks, how do I get the floated objects to stay -->
<div class="container">
<div class="stationary-object button">Button</div>
<div class="stationary-object">I shouldnt move</div>
</div>
<button>Toggle Width</button>
jQuery:
$('button').click(function () {
$(this).prevAll().toggleClass('zero-width')
})
コードはフィドルから直接出てきたものであり、フロート要素を 0% で非表示にする方法を表したものにすぎoverflow: hidden
ず、決してこのライブ コードではありません。浮かせた要素が落ちないようにする方法を見つけたら、それをより機能的な作品に適用できます。
ありがとう