まず効果を見てみましょう:序文:このアイデアは、Bilibili のアップロード者 Steven を見て思いつきました。素晴らしいと思ったので、自分でも作ってみました。 (純粋な CSS)、詳細なプロセスは次のとおりです。最後に完全なコードがあります。 成し遂げる: 1. まず、クラス名が .anniu のボタンとして div タグを定義します。 <div class="anniu">オーロラの夜</div> 2. .anniu の基本的な CSS スタイル、長さ、幅、フォント サイズなど: .anniu,.anniu::after{ フォントファミリー: 'Do Hyeon'、サンセリフ; 幅: 260ピクセル; 高さ: 80px; テキスト配置: 中央; フォントサイズ: 22px; 行の高さ: 80px; 色: rgb(255, 251, 251); 背景: linear-gradient(30deg,transparent 10%,rgb(255, 136, 0) 10% 95%, rgb(0, 255, 149) 95%); ボックスシャドウ: 5px 0 0 rgb(0, 204, 255); カーソル: ポインタ; 位置: 相対的; } font-family: 'Do Hyeon'、sans-serif; はフォントを表します。この Web サイトにアクセスすると、さまざまな種類のフォントが表示されます。 3. .anniu とまったく同じように見える double 疑似クラスを定義し、絶対位置指定によって .anniu をカバーします。手順 2 の .anniu のユニオン セレクターで同じ基本スタイルが定義されています。次のスタイルを追加します。 .anniu::after{ 内容: 「オーロラの夜」 位置: 絶対; 上: 0; 左: 0; テキストシャドウ: -5px -2px 0 rgb(0, 183, 255), 5px 2px 0 rgb(0, 255, 115); 可視性: 非表示; } テキストシャドウ: -5px -2px 0 rgb(0, 183, 255), 4. clip-path: inset() プロパティを使用して領域をクリップし、transform: translate(); を使用して効果を 1 回オフセットします。 例えば、double疑似クラスをクリッピングすると、clip-path: inset(20% -5px 60% 0); transform: translate(-5px,0); 結果は次のようになります。 (20% -5px 60% 0); は、クロッピング疑似クラスが上から下に 20% をクロッピングし、右から左に -5px をクロッピングし (負の値は影を表示する必要があるため)、下から上に 60% をクロッピングし、左から右に 0% をクロッピングすることを意味します。このようにすると、高さ 20%、幅 5px の長方形部分だけが残ります。残りのクロッピングされた端は非表示になります。同時に、上記の効果を実現するために、translate() を少し左にオフセットするように設定します。 次に、疑似クラス効果をさらに 3 回トリミングします。 clip-path: inset(80% -5px 5% 0); 取得: clip-path: inset(0 -5px 80% 0); 取得: 5. 4番目のステップで切り取り効果を設定した後、アニメーションを設定できます。マウスが通過すると、疑似クラスのさまざまな切り取り効果とオフセット効果が表示されます。切り取り位置とオフセット位置は、自分の感覚に合わせて設定できます。 .anniu:hover::after{ アニメーション:san1s; アニメーションタイミング関数: steps(1, end); } @keyframesさん{ 0%{ クリップパス: インセット(20% -5px 60% 0); 変換: translate(-6px,5px); 可視性: 可視; } 10% クリップパス: インセット(50% -5px 30% 0); 変換: translate(6px,-5px); } 20% クリップパス: インセット(20% -5px 60% 0); 変換: translate(5px,0px); } 30% クリップパス: インセット(80% -5px 5% 0); 変換: translate(-8px,5px); } 40% クリップパス: インセット(0 -5px 80% 0); 変換: translate(-4px,-3px); } 50%{ クリップパス: インセット(50% -5px 30% 0); 変換: translate(-6px,-5px); } 60% クリップパス: インセット(80% -5px 5% 0); 変換: translate(-7px,5px); } 70% クリップパス: インセット(0 -5px 80% 0); 変換: translate(3px,6px); } 80% クリップパス: インセット(50% -5px 30% 0); 変換: translate(5px,5px); } 90% クリップパス: インセット(20% -5px 60% 0); 変換: translate(6px,-5px); } 100%{ クリップパス: インセット(0 -5px 80% 0); 変換: translate(1px,5px); } } visibility: visible; 疑似クラスを可視にします。 完全なコード:<!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <meta name="viewport" content="width=デバイス幅、初期スケール=1.0"> <title>ドキュメント</title> <link href="https://fonts.font.im/css?family=Do+Hyeon" rel="スタイルシート"> <スタイル> *{ マージン: 0; パディング: 0; ボックスのサイズ: 境界線ボックス; } 体{ 高さ:100vh; ディスプレイ: フレックス; アイテムの位置を中央揃えにします。 コンテンツの中央揃え: 中央; 背景色: rgb(243, 239, 8); } .anniu,.anniu::after{ フォントファミリー: 'Do Hyeon'、サンセリフ; 幅: 260ピクセル; 高さ: 80px; テキスト配置: 中央; フォントサイズ: 22px; 行の高さ: 80px; 色: rgb(255, 251, 251); 背景: linear-gradient(30deg,transparent 10%,rgb(255, 136, 0) 10% 95%, rgb(0, 255, 149) 95%); ボックスシャドウ: 5px 0 0 rgb(0, 204, 255); カーソル: ポインタ; 位置: 相対的; } .anniu::after{ 内容: 「オーロラの夜」 位置: 絶対; 上: 0; 左: 0; テキストシャドウ: -5px -2px 0 rgb(0, 183, 255), 5px 2px 0 rgb(0, 255, 115); 可視性: 非表示; } .anniu:hover::after{ アニメーション:san1s; アニメーションタイミング関数: steps(1, end); } /* クリップパス: インセット(20% -5px 60% 0); クリップパス: インセット(50% -5px 30% 0); クリップパス: インセット(80% -5px 5% 0); クリップパス: インセット(0 -5px 80% 0); */ @keyframesさん{ 0%{ クリップパス: インセット(20% -5px 60% 0); 変換: translate(-6px,5px); 可視性: 可視; } 10% クリップパス: インセット(50% -5px 30% 0); 変換: translate(6px,-5px); } 20% クリップパス: インセット(20% -5px 60% 0); 変換: translate(5px,0px); } 30% クリップパス: インセット(80% -5px 5% 0); 変換: translate(-8px,5px); } 40% クリップパス: インセット(0 -5px 80% 0); 変換: translate(-4px,-3px); } 50%{ クリップパス: インセット(50% -5px 30% 0); 変換: translate(-6px,-5px); } 60% クリップパス: インセット(80% -5px 5% 0); 変換: translate(-7px,5px); } 70% クリップパス: インセット(0 -5px 80% 0); 変換: translate(3px,6px); } 80% クリップパス: インセット(50% -5px 30% 0); 変換: translate(5px,5px); } 90% クリップパス: インセット(20% -5px 60% 0); 変換: translate(6px,-5px); } 100%{ クリップパス: インセット(0 -5px 80% 0); 変換: translate(1px,5px); } } </スタイル> </head> <本文> <div class="anniu">オーロラの夜</div> </本文> </html> html+css でサイバーパンク スタイルのボタンを実装する方法についての記事はこれで終わりです。関連する html+css サイバーパンク スタイルのボタンのコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。 |
<<: HTML+CSS でハートビートの特殊効果を作成する
>>: 階層化されたピラミッドを実現するための HTML+CSS の例
Prometheus (プロメテウスとも呼ばれる) 公式サイト: https://prometheu...
データベーストランザクション分離レベルデータベース トランザクションには、低から高まで 4 つの分離...
目次変数データ型拡張ポイント要約する変数基本的な構文 var age=10; //ageという変数を...
序文このコントロールを直接印刷すると下部に透かしが入りますが、公式 Web サイトから購入することで...
この記事では、配列を走査する 4 つの方法を比較してまとめます。 for ループ: for (let...
目次背景サーバーの依存関係バックエンド構成クロスドメインバックエンド構成の静的リソースアクセスではk...
多くのネットユーザーは、なぜ自分のウェブサイトはいつも色の問題を抱えていて、いつも地味に見え、注目を...
まず、Docker とは何かを理解しましょう。 Docker は、アプリケーションをデプロイするため...
1. コマンドの紹介seq (シーケンス) コマンドは、指定されたステップ サイズに従って、開始番号...
フロントエンドで画像をアップロードする原理は、入力 type="file" タグ...
Linux サーバーに GRUB をインストールする方法クラウド移行ツールを使用して、CentOS ...
ウェブサイトの場合、ユーザビリティとは、ユーザーが必要な情報を効果的に見つけたり、タスクを完了したり...
Linux環境変数の設定ソフトウェアのインストールをカスタマイズする場合、多くの場合、環境変数を設定...
CSSを使用してブラウザのスクロールバーのスタイルを変更する ::-webkit-スクロールバー{ ...
目次方法1方法2 nginxをインストールした後、PHPコードを解析できないことがわかりました。解決...