変換を使用して純粋な CSS ポップアップ メニューを実装するためのサンプル コード

変換を使用して純粋な CSS ポップアップ メニューを実装するためのサンプル コード

序文

トップメニューを作成する場合、ポップアップのセカンダリメニューを作成する必要があります。 以前のアプローチでは、jQuery を使用してセカンダリメニューの表示と遷移アニメーションを制御していましたが、CSS3 の transform プロパティを使用すると、すべてが非常に簡単になります。

まず効果

調理方法

核心は、transformの地域変位法を使用し、liタグのホバー疑似クラスとアニメーション遅延と組み合わせて、サブメニューの表示を簡単に実現することです。

<ナビ>
  <ul>
    <li>
      <strong>ホーム</strong>
      <div>
        センチ
        <a href="">CRM</a>
      </div>
    </li>
    <li>
      <strong>ライブ</strong>
      <div>
        <a href="">ジャワ</a>
        <a href="">php</a>
      </div>
    </li>
    <li>
      <strong>ピクチャートゥルー</strong>
      <div>
        <a href="">ミリ</a>
        <a href="">dd</a>
      </div>
    </li>
  </ul>
</nav>
 *{
    パディング: 0;
    マージン: 0;
    ボックスのサイズ: 境界線ボックス;
  }
  体{
    幅:100vw;
    高さ:100vh;
    ディスプレイ: フレックス;
    flex-direction: 列;
    コンテンツの配置: flex-start;
    アイテムの位置を中央揃えにします。
  }
  ナビ{
    マージン: 10px;
  }
  ナビゲーション{
    リストスタイルタイプ: なし;
    高さ: 32px;
    ディスプレイ: フレックス;
  }
  nav ul li{
    右マージン: 10px;
  }
  nav ul li strong{
    テキスト変換:大文字;
    背景色: #9b59b6;
    色: 白;
    パディング: 5px 30px;
    行の高さ: 30px;
    カーソル: ポインタ;
  }
  nav ul li strong+div{
    ディスプレイ: フレックス;
    flex-direction: 列;
    背景色: #3498db;
    パディング: 10px;
    変換: translateY(-110%);
    不透明度: 0;
    遷移: .3秒;
    変換の起点: 上;
  }
  nav ul li:hover div{
    変換: translateY(0);
    不透明度: 1;
  }
  nav ul li strong+div a{
    色: 白;
    テキスト装飾: なし;
    テキスト変換:大文字;
    パディング: 5px 0;
  }

これで、Transform を使用して純粋な CSS ポップアップ メニューのサンプル コードを実装するこの記事は終了です。純粋な CSS ポップアップ メニューに関するその他の関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  MySQL の 6 つの一般的な制約タイプの詳細な説明

>>:  コンポーネントベースのフロントエンド開発プロセスの詳細な説明

推薦する

MySQLトランザクションとSpring分離レベルの実装原理の詳細な説明

1. トランザクションはACID特性を持つ原子性: トランザクションは、トランザクションによって分割...

HTML チュートリアル、HTML デフォルト スタイル

html 、アドレス、引用、本文、 dd 、 div 、 dl 、 dt 、フィールドセット、フォ...

Vue ディレクティブ v-html と v-text

目次1. v-text テキストレンダリング命令2. v-html 1. v-text テキストレン...

CentOS7で新しいデータディスクをマウントするための完全な手順

序文新しい VPS を購入しました。新しい VPS のデータ ディスクはデフォルトではシステムにマウ...

Navicat 経由で MySQL にリモート接続する方法

Navicat を使用して IP 経由で直接接続すると、次のようなさまざまなエラーが報告されます: ...

html-webpack-plugin' を使用してメモリ内に HTML ページ プラグインを生成します。

webpackjs ファイルをパッケージ化するときに、次に示すように、index.html インタ...

JSscriptタグの属性は何ですか

JS スクリプト タグの属性は何ですか? charset : オプション。 src 属性で指定された...

Docker データボリュームコンテナの作成と使用状況分析

データ ボリューム コンテナーは、データ ボリュームをマウントするために特別に使用されるコンテナーで...

CSSにスティッキー効果を追加する方法

前面に書かれたfilter:blur と filter:contrast がこのような素晴らしい化学...

DockerとDocker-Composeの使用例

Docker は、アプリケーションをより速く配信するのに役立つオープンソースのコンテナ エンジンです...

DockerコンテナにNFS共有ディレクトリをマウントする実装

以前、https://www.jb51.net/article/205922.htm で、Docke...

Vue3のレスポンシブ原則の詳細な説明

目次Vue2 レスポンシブ原則のレビューVue3 レスポンシブ原則の分析ネストされたオブジェクトの応...

Tomcat の構成と最適化ソリューションの詳細な説明

サービス.xml Server.xml 構成ファイルは、コンテナー全体を構成するために使用されます。...

MySQL ユーザー権限管理の実装

1. MySQL の権限の概要MySQL には、権限を制御する 4 つのテーブルがあります。user...

Angularコンポーネントの仲介モードの詳細な説明

目次1. 仲介業者モデル2. 例1. 見積コンポーネントに購入ボタンを追加する2. 親コンポーネント...