27

divホバーすると表示され、その後非表示になる sがいくつかあります。ただし、Chrome (19.0.1084.56 m、Windows XP) では、ホバーを外すと、スクロールやウィンドウのサイズ変更などを行うまで、Chrome はそれらを再描画しません。

http://jsfiddle.net/y7NdR/3/

CSS に特定の変更を加えることで問題が解決することは承知しています。たとえば、positionorz-indexおよびoverflowプロパティを削除するなどです。

この再描画の問題がChromeで発生している理由を正確に明らかにできる人はいますか? 必要なCSSをいじらずに修正するためのヒントはありますか?

4

2 に答える 2

39

明らかに、これは WebKit のバグです。

-webkit-transform: scale3d(1,1,1);追加すると修正されることがわかりました:

http://jsfiddle.net/thirtydot/y7NdR/5/

この修正にマイナス面があるかどうかはわかりません。WebKit 内では、3D 変換をレンダリングするために異なるコードが使用されているため、これが機能すると思います。

于 2012-06-12T18:59:57.597 に答える
3

私はこれに非常に長い間苦労しました.追加-webkit-transform: scale3d(1,1,1);すると問題が解決しましたが、その理由を知りたいと思いました. そこで、問題を絞り込むためにコードを深く掘り下げました。フェードイン アニメーションを使用していることがわかりました。この中に、同じクラスに含めました。

-webkit-backface-visibility:hidden;
backface-visibility:hidden;

これら2行だけを削除して、スケール変換ハックなしで問題を修正しました。

背面の可視性は変換と関係があり、2D 変換には影響しないはずなので、それを削除して問題を完全に修正しました。

Chrome での背面の可視性には多くのバグが指摘されているため、あまり作業せずに修正を見つけようとする将来の人のためにこれを投稿しました。

于 2014-07-18T00:39:56.407 に答える