リスト内に 4 つのボックスがあります。ホバー時に幅を 100% に設定しようとしています。float:left を li 要素に設定しなくてもうまく機能します。float:left が設定されている場合、ホバリング時に右側のボックス上のホバーがちらつきます。
コードはこちら - http://jsfiddle.net/PsYn9/5/
ボックス 2 にカーソルを合わせると、ちらつきがあります。なぜこれが起こるのですか
リスト内に 4 つのボックスがあります。ホバー時に幅を 100% に設定しようとしています。float:left を li 要素に設定しなくてもうまく機能します。float:left が設定されている場合、ホバリング時に右側のボックス上のホバーがちらつきます。
コードはこちら - http://jsfiddle.net/PsYn9/5/
ボックス 2 にカーソルを合わせると、ちらつきがあります。なぜこれが起こるのですか
リーが伸びるとき、それは他のリーと重なるのではなく、それを押すことによってそれ自身のためのスペースを作ります. したがって、2 番目の列の li にカーソルを合わせると、それ自体がプッシュされるため、もうカーソルを合わせているわけではありません。
ホバーするとdivが100%に引き伸ばされるため、div1より下から開始します。マウスがdivにカーソルを合わせていないため、マウスアウトが発生します...
そのボックスの上にマウスを置くと、mouseenterがトリガーされ、幅が100%に設定され、ボックスが下に移動します。そのため、マウスがそのボックスの上になく、mouseleaveがトリガーされ、幅が48%に設定され、ボックスが前の位置に移動します。したがって、mouseenterがトリガーされ、幅が100%に設定され、ボックスが下に移動します...
この動作は正常です。これは、2番目のボックスにカーソルを合わせると、ボックスがコンテナに収まらないため、2番目の行にドロップするために発生します(したがって、floatはこのように機能します)。ボックスが2行目に落ちると、ホバーを停止して元のサイズと位置に戻ります。次に、その場所に再び移動し、もう一度ホバリングします。など...これがちらつきの理由です。
解決策:コンテナを広くして、ボックスの固定ウィズを使用します。