いくつかのCSS3トランジションを含むナビゲーションメニューをドロップダウンしようとしています。ただし、表示/非表示を使用すると、iOSはドロップダウンを表示しません(リンクに行くだけです)。 none/block表示を使用すると、iOSは親要素の最初のクリック時にドロップダウンメニューを表示しますが、どのブラウザでも遷移は機能しません。CSS3ドロップダウンメニューとiOSの問題
javascriptを使用せずにこれらのトランジションをブラウザで正しく機能させる方法とドロップダウンをiOSで動作させる方法はありますか?
ドロップダウンは、iOSで動作しません:
nav ul li ul {
position: absolute; visibility: hidden; opacity: 0; left: 0; top: 50px; z-index: 99;
-webkit-transition: all .35s ease-in-out;
-moz-transition: all .25s ease-in-out;
-o-transition: all .35s ease-in-out;
-ms-transition: all .35s ease-in-out;
transition: all .35s ease-in-out;
}
nav ul li:hover > ul { visibility: visible; opacity: 1; top: 40px; }
遷移は、ブラウザでは動作しません:
nav ul li ul {
position: absolute; display: none; opacity: 0; left: 0; top: 50px; z-index: 99;
-webkit-transition: opacity .35s ease-in-out, top .35s ease-in-out;
-moz-transition: opacity .35s ease-in-out, top .35s ease-in-out;
-o-transition: opacity .35s ease-in-out, top .35s ease-in-out;
-ms-transition: opacity .35s ease-in-out, top .35s ease-in-out;
transition: opacity .35s ease-in-out, top .35s ease-in-out;
}
nav ul li:hover > ul { display: block; opacity: 1; top: 40px; }
iOSとはモバイルSafariを意味しますか?なぜあなたは頼りにしようとしていますか?タッチデバイスのホバー(予測できません)?私はあなたがJSを使いたくないことを知っていますが、イベントを使ってもっと正確にすることができます。私の意見では、Javascriptのクリックイベントを使用して、イベントを表示および非表示にし、event.preventDefault(); –