CSS3で作られたレインボーボタンスタイル

CSS3で作られたレインボーボタンスタイル

結果:

実装コード:

html

<div class="buttons">
  <h1><code>box-shadow</code> を使用したシンプルなホバー効果</h1>
  <button class="fill">入力</button>
  <button class="pulse">パルス</button>
  <button class="close">閉じる</button>
  <button class="raise">上げる</button>
  <button class="up">記入する</button>
  <button class="slide">スライド</button>
  <button class="offset">オフセット</button>
</div>

CS

/*
  https://developer.mozilla.org/en/docs/Web/CSS/ボックスシャドウ
  box-shadow: [インセット?] [上] [左] [ぼかし] [サイズ] [色];

  ヒント:
    - 塗りつぶしをしっかりしたいので、すべてのぼかしを 0 に設定します。
    - insetキーワードを追加して、box-shadowが要素の内側になるようにします。
    - ホバー時にインセットシャドウをアニメーション化すると、指定した側から要素が埋め込まれているように見えます([上]と[左]は負の値を受け入れ、[下]と[右]になります)
    - 複数のシャドウを重ねることができます
    - 複数の影をアニメーション化する場合は、アニメーションが滑らかになるように影の数を同じにしてください。そうしないと、途切れ途切れになります。
*/
.fill:hover、
.fill:フォーカス{
  ボックスシャドウ: インセット 0 0 0 2em var(--hover);
}

.pulse:ホバー、
.pulse:フォーカス{
  -webkit-animation: パルス 1 秒;
          アニメーション: パルス 1 秒;
  ボックスシャドウ: 0 0 0 2em rgba(255, 255, 255, 0);
}

@-webkit-keyframes パルス {
  0% {
    ボックスシャドウ: 0 0 0 0 var(--hover);
  }
}

@keyframes パルス {
  0% {
    ボックスシャドウ: 0 0 0 0 var(--hover);
  }
}
.close:ホバー、
.close:フォーカス{
  box-shadow: インセット -3.5em 0 0 0 var(--hover), インセット 3.5em 0 0 0 var(--hover);
}

.raise:hover、
.raise:focus {
  ボックスシャドウ: 0 0.5em 0.5em -0.4em var(--hover);
  変換: translateY(-0.25em);
}

.up:ホバー、
.up:フォーカス{
  ボックスシャドウ: インセット 0 -3.25em 0 0 var(--hover);
}

.スライド:ホバー,
.スライド:フォーカス{
  ボックスシャドウ: インセット 6.5em 0 0 0 var(--hover);
}

.オフセット{
  ボックスシャドウ: 0.3em 0.3em 0 0 var(--color)、インセット 0.3em 0.3em 0 0 var(--color);
}
.offset:hover、.offset:focus {
  box-shadow: 0 0 0 0 var(--hover)、インセット 6em 3.5em 0 0 var(--hover);
}

。埋める {
  --カラー: #a972cb;
  --ホバー: #cb72aa;
}

。脈 {
  --色: #ef6eae;
  --ホバー: #ef8f6e;
}

。近い {
  --色: #ff7f82;
  --ホバー: #ffdc7f;
}

。上げる {
  --色: #ffa260;
  --ホバー: #e5ff60;
}

。上 {
  --カラー: #e4cb58;
  --ホバー: #94e458;
}

.スライド{
  --色: #8fc866;
  --ホバー: #66c887;
}

.オフセット{
  --カラー: #19bc8b;
  --ホバー: #1973bc;
}

ボタン {
  色: var(--color);
  遷移: 0.25秒;
}
ボタン:ホバー、ボタン:フォーカス {
  境界線の色: var(--hover);
  色: #fff;
}

体 {
  色: #fff;
  背景: #17181c;
  フォント: 300 1em "Fira Sans"、サンセリフ体;
  コンテンツの中央揃え: 中央;
  コンテンツの位置を中央揃えにします。
  アイテムの位置を中央揃えにします。
  テキスト配置: 中央;
  最小高さ: 100vh;
  ディスプレイ: フレックス;
}

ボタン {
  背景: なし;
  境界線: 2px 実線;
  フォント: 継承;
  行の高さ: 1;
  マージン: 0.5em;
  パディング: 1em 2em;
}

h1 {
  フォントの太さ: 400;
}

コード {
  色: #e4cb58;
  フォント: 継承;
}

以上がCSS3で作成したレインボーボタンスタイルの詳細です。CSS3ボタンスタイルの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

<<:  Dockerを使用してSpring Bootプロジェクトをデプロイする手順

>>:  JavaScript における var、let、const の違いの詳細な説明

推薦する

Navicat for SQLite で中国語データを CSV にインポートする方法

この記事では、参考までに、csv中国語データをNavicat for SQLiteにインポートする具...

nginx のスムーズな再起動を実装する方法

1. 背景サーバーの開発プロセスでは、新しいコードや構成をロードするためにサービスを再起動することが...

HTMLページが3秒後に自動的にジャンプする3つの一般的な方法

実際には、N 秒後にページを自動的にジャンプさせるにはどうすればよいかという問題によく遭遇します。私...

HTML ヘッドタグの詳細な紹介

HTML のヘッド部分には、ブラウザによる Web ページのレンダリングや SEO などに関連するタ...

フロントエンドのパフォーマンス最適化を学ぶ準備として、HTMLページのレンダリングプロセスを理解する

現在、フロントエンドのパフォーマンス最適化について学んでいます。適切な解決策を見つけ、パフォーマンス...

WeChatアプレットはウォーターフォールフローのページングスクロール読み込みを実装します

この記事では、WeChatアプレットのウォーターフォールフローページングスクロールロードを実装するた...

CentOS 7 に PHP5 用の suPHP をインストールする方法 (Peng Ge)

デフォルトでは、CentOS 7 上の PHP は apache または nobody として実行さ...

純粋なCSSを使用してスクロールシャドウ効果を実現します

端的に言うと、スクロール可能な要素には非常によくある状況があります。通常、スクロールすると、要素が現...

MySQLの保存時間の不一致の問題を解決する

Java を使用してシステム時間を取得し、それを MySQL データベースに保存した後、時間タイプが...

Reactの原理の説明

目次1. setState() の説明1.1 データの更新1.2 推奨構文1.3 2番目のパラメータ...

MySQL が大規模トランザクションを避けるべき理由とその解決方法

何が大問題ですか?長時間実行され、長時間コミットされないトランザクションは、大規模トランザクションと...

iframe タグの使用方法の詳細な説明 (属性、透明度、適応高さ)

1. iframe の定義と使用法iframe 要素は、別のドキュメントを含むインライン フレーム...

ウェブデザインにおける画像フォーマットとデザインの関係を詳しく説明

なぜこの領域のコンテンツを整理したいのでしょうか。それは、油絵の具とキャンバスを理解する必要があり、...

MySQL のインデックスと制約の例文

外部キーテーブルの主キーがどのテーブルの外部キーであるかを照会する 選択 テーブル名、 列名、 制約...

HTML でフォーム コントロールを無効にする 2 つの方法: readonly と disabled

Web ページを作成する過程では、フォームがよく使用されます。しかし、フォーム上のコントロールを変更...