CSS3 ボタン境界アニメーションの実装

CSS3 ボタン境界アニメーションの実装

まず効果を見てみましょう:

html

<a href="#">
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  進む
</a>

CSS3

体 {
  マージン: 0;
  パディング: 0;
  背景色: #035f3c;
}

{
  位置: 絶対;
  上位: 50%;
  左: 50%;
  変換: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: 変換(-50%、-50%);
  -o-transform: 変換(-50%, -50%);
  色: #16f03a;
  パディング: 30px 60px;
  フォントサイズ: 30px;
  文字間隔: 2px;
  テキスト変換:大文字;
  テキスト装飾: なし;
  ボックスの影: 0 20px 50px rgba(0, 0, 0, 0.5);
  /* アニメーションラインの長さを削除するには: */
  オーバーフロー: 非表示;
}

a:前{
  コンテンツ: "";
  位置: 絶対;
  上: 2px;
  左: 2px;
  下: 2px;
  幅: 50%;
  背景: rgba(255, 255, 255, 0.05);
}

span:nth-child(1) {
  位置: 絶対;
  上: 0;
  左: 0;
  幅: 100%;
  高さ: 2px;
  背景: 線形グラデーション(右、#035f3c、#16f03a);
  アニメーション: animate1 2s 線形無限;
  -webkit-animation: animate1 2s 線形無限;
}

@keyframes アニメーション1 {
  0% {
    変換: translateX(-100%);
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -ms-transform: 変換X(-100%);
    -o-transform: translateX(-100%);
  }
  100% {
    変換: translateX(100%);
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
  }
}

span:nth-child(2) {
  位置: 絶対;
  上: 0;
  右: 0;
  幅: 2px;
  高さ: 100%;
  背景: 線形グラデーション(下へ、#035f3c、#16f03a);
  アニメーション: animate2 2s 線形無限;
  -webkit-animation: animate2 2s 線形無限;
  /* 効果の継続性を保つために遅延を追加する*/
  アニメーション遅延: 1秒;
}

@keyframes アニメーション2 {
  0% {
    変換: translateY(-100%);
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: 変換Y(-100%);
    -o-transform: translateY(-100%);
  }
  100% {
    変換: translateY(100%);
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
  }
}

span:nth-child(3) {
  位置: 絶対;
  下部: 0;
  右: 0;
  幅: 100%;
  高さ: 2px;
  背景: 線形グラデーション(左、#035f3c、#16f03a);
  アニメーション: animate3 2s 線形無限;
  -webkit-animation: animate3 2s 線形無限;
}

@keyframes アニメーション3 {
  0% {
    変換: translateX(100%);
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
  }
  100% {
    変換: translateX(-100%);
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -ms-transform: 変換X(-100%);
    -o-transform: translateX(-100%);
  }
}

span:nth-child(4) {
  位置: 絶対;
  上: 0;
  左: 0;
  幅: 2px;
  高さ: 100%;
  背景: 線形グラデーション(上へ、#035f3c、#16f03a);
  アニメーション: animate4 2s 線形無限;
  -webkit-animation: animate4 2s 線形無限;
  /* 効果の継続性を保つために遅延を追加する*/
  アニメーション遅延: 1秒;
}

@keyframes アニメーション4 {
  0% {
    変換: translateY(100%);
    -webkit-transform: translateY(100%);
    -moz-transform: translateY(100%);
    -ms-transform: 変換Y(100%);
    -o-transform: translateY(100%);
  }
  100% {
    変換: translateY(-100%);
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: 変換Y(-100%);
    -o-transform: translateY(-100%);
  }
}

上記は、CSS3 ボタン境界アニメーションの実装の詳細な内容です。CSS3 ボタン境界アニメーションの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

<<:  動的画像読み込み技術の応用とjquery.lazyloadプラグインの使用例

>>:  携帯電話に GreasyFork js スクリプトをインストールするチュートリアル

推薦する

バックアップと削除のためにリアルタイムでステートメントを検出するMySQLトリガーの考え方の詳細な説明

問題の説明: ユーザーは、テーブルに「違反」という単語を含むフィールドが時々表示されることを要求して...

React プロジェクトで eslint の Baidu スタイルを使用する詳細な説明

1. Baidu Eslint Ruleプラグインをインストールする npm i -D eslint...

計算機機能を実現するjsバージョン

この記事の例では、計算機機能を実装するためのjsの具体的なコードを参考までに共有しています。具体的な...

Docker インストール Nginx チュートリアル 実装図

Nginx をインストールして試してみましょう。画像はクラスであり、コンテナはオブジェクトであること...

間違った MySQL コマンドをキャンセルしたい場合はどうすればいいですか?

間違った mysql コマンドを入力したのでキャンセルしたいです。どうすればいいですか? ctrl ...

CSS で中空効果を実装するサンプルコード

効果原理主にCSSグラデーションを使用して、切り取りを必要としない背景のくり抜きを実現します。クーポ...

Centos7 システムでの MySQL マスター スレーブ同期構成スキーム

序文最近、高可用性プロジェクトに取り組む際には、データの同期が必要になっています。ノードが 2 つし...

CSS を使用して複数の方法で等高レイアウトを実装するサンプル コード

この記事で説明する等高レイアウトでは、純粋な CSS を使用して、要素の高さを手動で設定することなく...

Docker での FastAPI デプロイの詳細なプロセス

Docker 学習https://www.cnblogs.com/poloyy/p/15257059...

1分でVueが右クリックメニューを実装

目次レンダリングインストールコードの実装カスタムスタイル要約する効率的に要件を満たし、車輪の再発明を...

Vue3におけるキーの役割と動作原理についての簡単な説明

このキー属性の機能は何ですか?まずは公式の説明を見てみましょう。 kekey 属性は主に、新しいノー...

フレームセットの高さを設定する際のインターフェース変形の解決策

現在、プロジェクトを作成しました。インターフェースは次のとおりです。これはフレームセットを使用して行...

適応分析と応答分析の違いを専門用語で詳しく説明

日々の開発経験と関連するオンライン情報に基づいて、アダプティブとレスポンシブの違いをシンプルでわかり...

MySQL 5.7.10 winx64 のインストールと設定方法のグラフィック チュートリアル (win10)

MySQL は比較的使いやすいリレーショナル データベースです。今日は、win10 システムを再イ...

Linuxフラッシュのインストール方法

Linuxにフラッシュをインストールする方法1. Flashの公式サイトにアクセスし、ダウンロードを...