背景今日、CodePen を閲覧していたところ、非常に興味深い効果を見つけました。 CodePen デモ - Bennett Feely によるマテリアル デザイン メニュー この効果については、まだ調査して学ぶ価値のある点がいくつかあります。以下で見てみましょう。 同様の効果を得るにはどうすればよいでしょうか?まず、考えてみてください。もし上記の効果を達成するように求められたら、あなたはどうしますか? ここで、考えられる解決策をいくつか簡単に挙げます。
一つずつ素早く確認してみましょう。 ボックスシャドウの使用
<div class="g-container"> <div class="g-item"></div> </div> .g-コンテナ{ 位置: 相対的; 幅: 400ピクセル; 高さ: 300px; オーバーフロー: 非表示; } .g-アイテム{ 位置: 絶対; 幅: 48px; 高さ: 48px; 境界線の半径: 50%; 背景: #fff; 上: 20px; 左: 20px; ボックスシャドウ: 0 0 0 0 #fff; 遷移: box-shadow .3s 線形; &:ホバー{ ボックスシャドウ: 0 0 0 420px #fff; } } 核となるのは:
効果は以下のとおりです。 アニメーション全体はシミュレートされていますが、致命的な問題が 2 つあります。
したがって、 放射状グラデーションを使用して次に、 <div class="g-container"></div> @property --size { 構文: '<長さ>'; 継承: false; 初期値: 24px; } .g-コンテナ{ 位置: 相対的; 幅: 400ピクセル; 高さ: 300px; オーバーフロー: 非表示; 背景: 放射状グラデーション(円、44px 44px、#fff 0、#fff var(--size)、透明 var(--size)、透明 0); 遷移: --size .3s 線形; &:ホバー{ --サイズ: 450px; } } 放射状グラデーションアニメーション効果を制御することで、ホバー時に元の小さな円の背景を大きな円の背景に変更できます。効果は次のとおりです。 うーん、確かに効果は回復しましたが、問題も致命的です:
CodePen デモ - 放射状グラデーションのズームインアニメーション えーっと、スケーリング したがって、上記の効果を実現したい場合の核心は次のとおりです。
クリップパスを使用して動的な領域クリッピングを実現するしたがって、ここでは実際に動的な領域の切り取りが必要になります。 私のこの記事では、overflow: hidden を使用せずに overflow: hidden を実装する方法を説明します。では、CSS で要素をクリップするいくつかの方法が紹介されていますが、その中でもこの効果に最も適しているのは clip-path です。 <div class="g-container"></div> .g-コンテナ{ 位置: 相対的; 幅: 400ピクセル; 高さ: 300px; オーバーフロー: 非表示; トランジション: クリップパス .3s 線形; クリップパス: 円(20px、44px、44px); 背景: #fff; &:ホバー{ クリップパス: 円(44px 44px で 460px); } } 最初に 効果は以下のとおりです。 この方法では、タイトル画像の効果を完璧に実現でき、組み込みの DOM 要素をこの div に直接書き込むことができます。 <div class="g-container"> <ul> <li>11111</li> <li>22222</li> <li>33333</li> <li>44444</li> </ul> </div> 効果は以下のとおりです。 CodePen デモ - クリップパスのズームインアニメーション これは、クリップパスを使用して動的な領域クリッピングを実現する非常に興味深いテクニックです。誰もがこれをマスターできることを願っています。 JS で clip-path を使用して動的な領域クロッピングを実装する方法についての記事はこれで終わりです。clip-path 領域クロッピングに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQLシリーズ マルチテーブル結合クエリ92および99構文例詳細チュートリアル
>>: CSS クリアフロートクリア:both サンプルコード
Apache Tomcat は、Java Servlet および Java Server Pages...
目次グローバル変数 globalDataページプライベート変数データストレージ非同期ストレージ(デバ...
セレクタのグループ化h2 要素と段落の両方を灰色にしたいとします。これを行う最も簡単な方法は、次のス...
1. はじめに数日前、開発仲間から、フィールドを同じ値に更新すると binlog が記録されるかどう...
この記事では、vueの大画面表示適応の具体的なコードを参考までに紹介します。具体的な内容は以下のとお...
序文ビューは、データベース システム内で非常に便利なデータベース オブジェクトです。 MySQL 5...
序文昨日、小さなプロジェクトを書いていたときに、txt ドキュメントのデータを mysql データベ...
[LeetCode] 177. 最も高い給与従業員テーブルからn番目に高い給与を取得する SQL ...
以前は、ほとんどすべての Web サイトに、すべてのページをリストしたサイトマップ ページがありまし...
序文スワップは、ディスク上にある「仮想メモリ」の一部である特殊なファイル (またはパーティション) ...
この記事では、参考のために、WeChatアプレットのチャットルームを実装するための具体的なコードを例...
1. プラグインを追加し、pomファイルの下に次の設定を追加します。 <!-- mybatis...
Prometheus (プロメテウスとも呼ばれる) 公式サイト: https://prometheu...
目次コンポーネントの分解左パネル右パネル入力パラメータの分解小道具スロット具体的な実装ドラッグする方...
最近、デジタル デザイン コミュニティで「誰が何を担当するのか」という明らかな混乱についてよく質問さ...