1

サブメニューに一種の「折りたたみ」効果を作成しようとしていますが、いくつか問題があります。

このcodepenを参照してください:http://codepen.io/anon/pen/Lotav

ご覧のとおり、デフォルトではサブメニューの回転は90度です。メニュー項目にカーソルを合わせると、サブメニューが0度にアニメーション化され、一種の折りたたみ効果が得られます。問題は、サブメニューがアニメーションを開始すると(90度で)、その幅の中央に配置されることです。サブメニューの幅はXピクセルですが、回転すると幅が縮小し、実際の幅(X)の中央に配置されます。目的の効果を得るには、回転したときにサブメニューを左に配置する必要があります。

2番目の問題は、私が本当に奇妙だと思うのですが、サブメニューの回転を90度に設定しましたが、まったく表示されないということです。少し重なっています。90度で完全に垂直になる(したがって見えなくなる)必要がありますか、それとも何かが足りませんか?

私はChrome24とFirefox18でのみ効果をテストしました。Firefoxでは3D効果を機能させることができません。幅が狭くなるだけですが、Chromeでは実際に回転するのを見ることができます。Codepenで自動プレフィックスオプションをオンにしていますが、正しく機能するかどうかわかりません。

望まない効果のデモは次のとおりです: http://davidwalsh.name/demo/folding-animation.php

唯一の違いは、上からではなく左から「折りたたむ」ことです。

4

1 に答える 1

0

最初の問題:transform-originサブメニューのデフォルトを変更します。使用する:

transform-origin: left;

2番目の問題は、次の原因で発生しperspective: 1000;ます。削除してホバーしただけで追加すると、この問題は発生しません。

デモ

于 2013-01-12T16:56:26.540 に答える