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 のロックとトランザクションの簡単な分析

MySQL 自体はファイルシステムに基づいて開発されましたが、ロックの存在が異なります。データベース...

CSSでフレックス配置を表示する(レイアウトツール)

display: flex レイアウトに関しては、深く理解している人もいますし、私も他の人の作業か...

Vueコンポーネントのカスタムイベントの詳細な説明

目次要約する <テンプレート> <div> 要素 <h2>{{メ...

jsはCanvasを使用して複数の画像を1つの実装コードにマージします

解決 関数 mergeImgs(リスト) { const imgDom = document.cre...

Echarts は 1 つのグラフ内で異なる X 軸を切り替える機能を実装します (サンプル コード)

レンダリング下の画像のような効果を実現したい場合は、読み続けてアニメーション画像に直接進んでください...

Linux に MySql 5.7.21 をインストールするための詳細な手順

序文Linux で最も広く使用されているデータベースは MySQL です。この記事では、Linux ...

Nginx 構成 80 ポート アクセス 8080 とプロジェクト名アドレス メソッド分析

Tomcatはプロジェクトにアクセスします。通常はIP + ポート + プロジェクト名です。 Ngi...

CSS を使用してサブ要素に応じて異なるスタイルを記述する方法

達成すべき効果: 必要なもの1枚、2枚、3枚とスタイルが異なります。子要素の判定はjsで完結できます...

CSSスプライト技術は複数の背景を1つのPNG画像に統合しますCSSポジショニング

アメリカのYAHOOがページ制作で使用している画像統合技術。これらのアイコン、列背景、画像ボタンを定...

ゲーム着物メモ問題の簡単な分析

本日、ゲームを再起動した後、バックアップしたデータをターゲットデータベースにインポートできないことが...

Windows 10 に TomCat をインストールするチュートリアル図

WindowsにTomCatをインストールするこの記事では、WindowsプラットフォームにTomC...

雨滴効果を実現する JavaScript キャンバス

この記事の例では、雨滴効果を実現するためのキャンバスの具体的なコードを参考までに共有しています。具体...

Mysqlマスタースレーブ同期の実装原理

1. MySQL マスター/スレーブ同期とは何ですか?マスター データベースのデータが変更されると、...

Node.js での組み込みモジュールとカスタムモジュールの実装

1. コモンズCommonjsはNode.jsのカスタムモジュールですCommonjs 仕様は、Ja...

Hyper-v仮想マシンを使用してCentos7をインストールする

目次導入準備するシステムイメージをダウンロードHyper-Vを有効にする新しい仮想ネットワークスイッ...