まず効果を見てみましょう: 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 スクリプトをインストールするチュートリアル
最近はコース設計を実現するために、フロントエンドも少しやっています。今日はいくつかの機能を実現するた...
VMware Workstationsが仮想マシンエラーを起動する エラー レポートのリンク htt...
序文データベースは常に私の弱点でした。自分の経験 (python+sqlalchemy) を組み合わ...
1. MySQLをダウンロードする1. MySQLの公式ウェブサイトにログインし、64ビットシステム...
マウスの位置をマッピングしたり、ドラッグ効果を実装したりすることは、 JavaScriptで行うこと...
この記事では主に、NUXT の validate メソッドに基づいてフォーム検証を実装する方法につい...
1. MySQLサービスをシャットダウンする# service mysqld stop 2. rpm...
今日、CentOS6.2 をインストールしていたところ、ハード ドライブの検出段階を通過できませんで...
タイトル通りです。その質問は非常に奇妙です。要素の親タグはdivで、幅や高さなどの属性は設定されてい...
1. axiosプラグインをダウンロードする cnpm インストール axios -S 2. mai...
この記事では、モバイル端末を一度に1画面ずつ上下にスライドさせるためのJSの具体的なコードを参考まで...
フロントエンドは、技術が急速に進化するだけでなく、知っておくべき事柄が多すぎるという理由で大変な仕事...
1. Docker pullはイメージをプルします$ docker pull {IMAGE_NAME...
目次序文フラグメントの動機React Fragment の紹介と使用<React.Fragme...
この記事では、次のような効果を持つ JS ページング効果の例を紹介します。クールだと思いませんか? ...