背景今日、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 サンプルコード
Dockerネットワークを見るdocker ネットワーク ls [root@master ~]# d...
Oracle の大きなテキスト データ型 Clob 長いテキスト型 (MySQL ではサポートされて...
1. MySQLデータベースをダウンロードし、インストールして設定するダウンロードアドレス: htt...
今日、HTML に問題を発見しました。多くのデフォルト フォントが提供されていますが、「Bold」、...
MySQL には 3 つの日付型があります。日付(年-月-日)テーブル test(hiredate ...
この記事では、フォームデータの非同期送信を実装するためのJavaScriptの具体的なコードを参考ま...
1.まずMysqlリンク設定ページを書く パッケージ com.wretchant.fredis.me...
バックアップがあれば、非常に簡単です。最新のバックアップ データを生成し、mysqlbinlog を...
目次ステップ1. ルーティング ルールを設定し、子構成項目を使用します。 2. ジャンプ(フルパスを...
ant-design-vue は Ali iconfont icons の使用をカスタマイズします\...
導入RANGE パーティション分割は、指定された連続した間隔範囲に基づいています。RANGE の初期...
この記事では、jQueryプラグインを使用したマインスイーパゲームの最初の記事の具体的なコードを参考...
この記事では、例を使用して、MySQL ストアド プロシージャで複数の値を返す方法について説明します...
1. Docker Compose の使用方法は docker コマンドの使用方法と非常に似ています...
目次Vuex環境を構築する要約するVuex環境を構築するsrcディレクトリにフォルダstoreを作成...