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 の違いの詳細な説明

推薦する

Linux Crontab シェル スクリプトを使用して第 2 レベルのスケジュールされたタスクを実装する方法

1. シェルスクリプトcrontab.shを書く #!/bin/bash step=1 #ステップ間...

MySQL スロークエリ pt-query-digest スロークエリログの分析

1. はじめにpt-query-digest は、MySQL のスロー クエリを分析するためのツール...

プロジェクトのフロントエンドとバックエンドでの Echart チャートの使用に関する詳細な説明

目次序文1. プロジェクトアーキテクチャ2. Echart公式サイトにアクセスして自己分析を学ぶ2....

HTMLにおける絶対パスと相対パスの違いの分析

図に示すように: 1 つのページには多数のファイルが接続されているため、ファイルを参照するときには、...

Linux で top コマンドを使用する際のヒント

まず、top のいくつかのフィールドの意味を紹介します。 VIRT:仮想メモリ使用量1. プロセスが...

MySQL 5.7.16 無料インストール版のインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 5.7.16のインストールと設定方法を記録します。具体的な内容は以下のとおり...

Ubuntu 20.04 aptの国内ソースを変更する方法

UPD 2020.2.26 現在、Ubuntu 20.04 LTSはまだリリースされていないため、チ...

Nginx ログ出力のリクエスト後パラメータを設定する方法

【序文】当プロジェクトの SMS 機能は、第三者に接続することです。第三者からの元の受信確認要求は ...

Windows 10 での mysql-8.0.17-winx64 のインストール方法

1.公式サイトからダウンロードして解凍する参考: ダウンロード後、zip 圧縮ファイル (mysql...

CSS最適化スキルの自己実践体験

1. CSS スプライトを使用します。利点は、CSS で使用される小さな画像を 1 つの大きな画像に...

MySql8 WITH RECURSIVE 再帰クエリ親子コレクションメソッド

背景コメントに似た機能を開発する場合は、必要に応じてすべてのコメントのサブセットをクエリする必要があ...

React Nativeでaxiosを使用してネットワークリクエストを行う方法

フロントエンド開発では、Ajax、jQuery ajax、axios、fetch など、データ要求を...

Centos7のホスト名を変更する3つの方法

方法 1: hostnamectl の変更ステップ1 ホスト名を確認するホスト名ステップ2 ホスト名...

画像とテキストでHTTPヘッダーのあらゆる側面を理解する

HTTPヘッダーとはHTTP は「Hypertext Transfer Protocol」の略です。...

Vueはスライダードラッグ検証機能の全プロセスを実現します

レンダリング 骨組みを定義し、HTMLとCSSを記述するHTML部分 <テンプレート> ...