1

リスト内に 4 つのボックスがあります。ホバー時に幅を 100% に設定しようとしています。float:left を li 要素に設定しなくてもうまく機能します。float:left が設定されている場合、ホバリング時に右側のボックス上のホバーがちらつきます。

コードはこちら - http://jsfiddle.net/PsYn9/5/

ボックス 2 にカーソルを合わせると、ちらつきがあります。なぜこれが起こるのですか

4

4 に答える 4

4

リーが伸びるとき、それは他のリーと重なるのではなく、それを押すことによってそれ自身のためのスペースを作ります. したがって、2 番目の列の li にカーソルを合わせると、それ自体がプッシュされるため、もうカーソルを合わせているわけではありません。

于 2011-10-25T11:09:56.803 に答える
0

ホバーするとdivが100%に引き伸ばされるため、div1より下から開始します。マウスがdivにカーソルを合わせていないため、マウスアウトが発生します...

于 2011-10-25T11:06:42.843 に答える
0

そのボックスの上にマウスを置くと、mouseenterがトリガーされ、幅が100%に設定され、ボックスが下に移動します。そのため、マウスがそのボックスの上になく、mouseleaveがトリガーされ、幅が48%に設定され、ボックスが前の位置に移動します。したがって、mouseenterがトリガーされ、幅が100%に設定され、ボックスが下に移動します...

于 2011-10-25T11:08:54.527 に答える
0

この動作は正常です。これは、2番目のボックスにカーソルを合わせると、ボックスがコンテナに収まらないため、2番目の行にドロップするために発生します(したがって、floatはこのように機能します)。ボックスが2行目に落ちると、ホバーを停止して元のサイズと位置に戻ります。次に、その場所に再び移動し、もう一度ホバリングします。など...これがちらつきの理由です。

解決策:コンテナを広くして、ボックスの固定ウィズを使用します。

于 2011-10-25T11:11:17.180 に答える