検索

ホームページ  >  に質問  >  本文

CSS 表示プロパティのグラデーション効果

<p>現在、CSS の「スーパー ドロップダウン」を設計しています。基本的には通常の純粋な CSS ドロップダウンですが、さまざまな種類のコンテンツが含まれています。 </p> <p>現在、<strong> CSS 3 トランジション効果は「display」属性には適用されないようです</strong> つまり、<code>display: none</ からトランジションする方法はありません。 code> から < code>display: block</code> (または任意の組み合わせ)。 </p> <p>上の例で、誰かが一番上のメニュー項目の上にマウスを置いたときに、第 2 レベルのメニューを「フェードイン」させる方法はありますか? </p> <p><code>visibility:</code> 属性でトランジション効果を使用できることは知っていますが、それを効果的に使用する方法がわかりません。 </p> <p>高さの使用も試しましたが、結果はひどいものでした。 </p> <p>これは JavaScript を使用して簡単に実現できることも知っていますが、CSS だけを使用することに挑戦したかったのですが、少し理解が及んでいないように感じました。 </p>
P粉608647033P粉608647033557日前633

全員に返信(2)返信します

  • P粉311089279

    P粉3110892792023-08-22 09:21:07

    要素を適切に機能させるには、他の方法で要素を非表示にする必要があります。

    <div> の両方を絶対位置に設定し、非表示のものを opacity: 0 に設定することで効果を実現しました。

    display 属性を none から block に切り替えると、他の要素のトランジション効果は発生しません。

    この問題を解決するには、要素を常に display: block にできるようにしますが、次のいずれかの方法で要素を非表示にします:

    1. 高さ0に設定します。
    2. 不透明度0に設定します。
    3. overflow: hidden を使用して、要素を別の要素のフレームの外側に配置します。

    他にも解決策があるかもしれませんが、要素を display: none に切り替えると遷移できなくなります。たとえば、次のようなことを試してみるとよいでしょう:

    リーリー

    しかし、これは うまくいきません。私の経験上、これには何の効果もないことが分かりました。

    したがって、要素の

    display: block を常に維持する必要がありますが、次の方法でこれを回避できます。 リーリー

    返事
    0
  • P粉729198207

    P粉7291982072023-08-22 00:45:19

    2 つ以上のトランジション エフェクトを接続できます。この時点では 可視性 が便利です。

    リーリー リーリー

    返事
    0
  • キャンセル返事