マウスをホバーすると画像が折りたたまれる効果を実現する CSS

マウスをホバーすると画像が折りたたまれる効果を実現する CSS

マウスをホバーすると画像が折りたたまれる効果を実現する CSS

1. 実施のポイント

  • 折り畳みは複数のブロックレベル要素によって実現されます。
  • 画像は背景画像として表示されます。
  • 各ブロックレベル要素に同じ背景画像を設定し、background-position を使用して表示領域を制御します (スプライト画像と同様)。
  • 折りたたみ効果は ransform 属性によって実現されます。
  • ラップされた div 全体のサイズは、画像の元のサイズです。サイズを変更する場合は、background-size などのプロパティを調整して背景画像のサイズを調整する必要があります。

2. エフェクト表示

画像折り効果表示

3. ソースコード

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
  <メタ文字セット="UTF-8">
  <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
  <title>ホバーフォルダー</title>
  <スタイル>
    html,
    体、
    ウル、
    li {
      マージン: 0;
      パディング: 0
    }

    ul {
      リストスタイル: なし;
      表示: ブロック;
    }

    体 {
      幅: 100%;
      高さ:100vh;
    }

    。容器 {
      幅: 100%;
      高さ: 100%;
      /* 背景色: 水色; */
      ディスプレイ: フレックス;
      コンテンツの中央揃え: 中央;
      アイテムの位置を中央揃えにします。
      変換: スケール(0.5);
    }

    。包む {
      ボックスの影: 0 2px 12px 0 rgba(0, 0, 0, .5);
      幅: 1280ピクセル;
      高さ: 854px;
      フォントサイズ: 0;
      行の高さ: 0;
      位置: 相対的;

    }

    。画像 {
      カーソル: ポインタ;
    }

    .abs-wrap {
      高さ: 100%;
      幅: 100%;
      /* 上: 0;
      左: 0; */
      /* 位置: 絶対; */
      zインデックス: 10;

    }

    .abs-wrap:hover>.abs:nth-child(2) {
      変換: 行列(0.8, -0.2, 0, 1, -1, 0);
    }

    .abs-wrap:hover>.abs:nth-child(3) {
      変換: 行列(0.8, 0.2, 0, 1, -53, -50);
    }

    .abs-wrap:hover>.abs:nth-child(4) {
      変換: 行列(0.8, -0.2, 0, 1, -105, 0);
    }

    .abs-wrap:hover>.abs:nth-child(5) {
      変換: 行列(0.8, 0.2, 0, 1, -157, -50);
    }

    .abs {
      変換スタイル: 3D を保持します。
      変換の原点: 左中央;
      遷移: .4 秒のイーズインアウト;
      幅: 20%;
      高さ: 100%;
      /* 背景色: rgba(0, 0, 0, .5); */
      表示: インラインブロック;
      背景サイズ: 100%;
      背景: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1600577868615&di=d2979a54604ecb409e3329527d0220fa&imgtype=0&src=http%3A%2F%2Ft9.baidu.com%2Fit%2Fu%3D29311073%2C358824429%26fm%3D79%26app%3D86%26f%3DJPEG%3Fw%3D1280%26h%3D854');
    }

    .abs:n番目の子(1) {
      背景位置: 0% 0%;
    }

    .abs:n番目の子(2) {
      背景位置: 25% 0%;
    }

    .abs:n番目の子(3) {
      背景位置: 50% 0%;
    }

    .abs:n番目の子(4) {
      背景位置: 75% 0%;
    }

    .abs:n番目の子(5) {
      背景位置: 100% 0%;
    }
  </スタイル>
</head>

<本文>
  <div class="コンテナ">
    <div class="wrap">
      <ul class="abs-wrap">
        <li class="abs"></li>
        <li class="abs"></li>
        <li class="abs"></li>
        <li class="abs"></li>
        <li class="abs"></li>

      </ul>

    </div>

  </div>

</本文>

</html>

要約する

マウスを画像の上に置いたときに折り畳み効果を実現する CSS の使用方法に関するこの記事はこれで終わりです。マウスを画像の上に置いたときに画像を折り畳むことに関するより関連性の高い CSS コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  MyBatis 動的 SQL の包括的な説明

>>:  Redis イメージの Docker インストールと設定手順

推薦する

MySQL 外部キー設定方法の例

1. 外部キーの設定方法1. MySQL では、2 つのテーブルを関連付けるために、外部キー (FO...

SQLでEXPLAINコマンドを使用する方法

日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行するこ...

ウェブページ作成時のHTMLタグの使用に注意してください

この記事では、Web ページの作成を学習するときに注意すべき HTML タグに関するいくつかの問題を...

WeChatミニプログラムページとコンポーネント間の情報伝達と機能呼び出し

今回は、私自身の開発経験を踏まえて、以下の観点で関連内容を解説します。ページからコンポーネントにデー...

4つのファイル拡張子 .html、.htm、.shtml、.shtm の違い

ウェブページを作り始めたばかりの友人の多くは、拡張子が非常に多いことに気づきます。実際、htm と ...

HTML にネストされた div の無効なマージンに対する解決策

div がネストされているときに margin が機能しない問題の解決策を次に示します。さて、マージ...

CSS のサイズ単位についての簡単な説明

ブラウザの互換性はどんどん良くなってきています。モバイル端末は基本的にすべてWebKitベースです。...

JavaScript スコープチェーンの基本原理のグラフィカルな説明

目次序文範囲1. スコープとは何ですか? 2. [[スコープ]] プロパティ3. スコープチェーン4...

ウェブ画像形式としてPNG、JPG、GIFを選択して使用する方法

では、GIF、PNG、JPG のどの形式を候補形式として選択すればよいのでしょうか。また、どの画像形...

Docker を使用して MySQL および Redis サービスをデプロイする方法

目次Dockerを使用してMySQLサービスをデプロイする方法DockerでRedisサービスをデプ...

MySQLサブクエリでorder byが効かない問題の解決方法

偶然にも、SQL ステートメントを異なる MySQL インスタンスで実行すると、異なる結果が生成され...

Reactでコンポーネントがどのように通信するかの詳細な説明

1. 何ですかコンポーネント間の通信は、次の 2 つの単語に分けることができます。コンポーネントコ...

JavaScriptのアロー関数の特徴と通常の関数との違い

目次1. 矢印関数の使用1. 通常関数から矢印関数へ2. 中括弧を省略してリターンする3. 括弧を省...

Windows Server win2003、win2008R2、win2012、win2016、win2019 システム バージョン間の違い

最近、Microsoft は 2019 サーバー システムをリリースしました。一般的に、Micros...

Dockerコンテナの状態変換の実装

Dockerコンテナの状態遷移図2度目の実戦 [root@localhost ~]# docker ...