背景今日、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 サンプルコード
この記事の著者@子木yoyoが個人ブログに投稿したものです。 Web ページでもモバイル アプリでも...
1. ネットワークの最適化YSlowには23のルールがあります。これら数十のルールは、主に、不要な...
データベースでは、UNION キーワードと UNION ALL キーワードの両方が 2 つの結果セッ...
考えてみてください。なぜcss 、 javascriptのようにbodyタグの末尾ではなく、 hea...
MySQLはレプリケーションフィルターを動的に変更します今日遭遇した問題についてお話しします。今日は...
世界で最も有名なウェブサイトのロゴデザインにはどんなフォントが使われているかご存知ですか?これらのフ...
Web ページでは、あるページに情報を入力すると、別のページにジャンプし、入力した情報が別のページ...
最新バージョンのMySQL 8.0.11をインストールした後、ユーザーを作成して認証します。認証され...
1. フォントのプロパティcolorは、div{color:red;}のようにテキストの色を指定しま...
ライフサイクル分類vue の各コンポーネントは独立しており、各コンポーネントには独自のライフサイクル...
この記事では、弾幕効果を実現するためのjQueryの具体的なコードを参考までに共有します。具体的な内...
クラウドサーバーを使用するとデータベースに接続できる場合もありますが、Navicat Premium...
CSSスタイルの分類1. 内部スタイル ---- インラインスタイルスタイルタグの使用 <ス...
1. MySQLをダウンロードする公式サイトのダウンロードアドレス https://dev.mys...
まず、Navicat for MySQL をダウンロードしてインストールする必要があります。正規版の...