ボタン・広告

枠線上を周るようにキラッと光るボタン

枠線上を回るようにキラッと光るボタン

See the Pen 枠線が周るようにキラッと光るボタン(アウトライン) by チータツ (@cheese_fuji) on CodePen.

ボタンの枠線(外周)をぐるぐると光が周り続けるボタンのCSSです。

さりげなくボタンを強調したい時に使えます。

CSSの解説

ボタン自体は普通の長方形で作成し、疑似要素::beforeで枠線を描画、疑似要素::afterで光沢(光)を作成して外周をぐるぐる回らせます。

なお、光沢を自然なものにするため、光沢にfilter: blur()でぼかしを入れます。その上でボタンの中・文字に光がかからないようにz-indexで疑似要素(枠線・ボタン)は、ボタン本体より背面に配置しています

また、光沢はボタンの外周を回るため、光沢の色はページの背景色に合わせます。

  • ボタンのブロック枠を作成 .btn-rot
    • 光沢の大きさ次第でははみ出るため、overflow: hiddenで範囲外にはみ出た要素を非表示にする
  • ボタン本体 .btn-rot a
    • text-decoration: noneでリンクの下線を削除
    • display: inline-blockでインラインブロック化して、ボタンとしての余白などを設定
    • 疑似要素の基点とするため、position: relativeを指定
    • 背景色や文字色などを設定
  • ボタンの枠線 .btn-rot a:before
    • position: absoluteによる位置指定(枠線の太さ分だけ左上にずらす)
    • width: 100%, height: 100%でボタン本体と同じ大きさに
    • borderで枠線を作成(この枠線以外はボタン本体に重なって隠れる)
    • z-index: -2でボタンより背面に配置
  • 光沢を作成 .btn-rot a:after
    • 長方形を作成
    • background-colorページの背景色に合わせる
    • filter: blur()で適度にぼかしを入れる
    • z-index: -1でボタン本体より背面、枠線より前面に配置
    • @keyframesによるアニメーションで位置を左上→右上→右下→左下の順番に変更する

光沢(光)をページの背景色と合わせているため分かりづらいですが、光沢の色を赤色などにするとどのように動いているかが分かります。

応用CSS

塗りつぶしver.

内部にも色を付けたボタンです。
枠線が明るい色だと光っているのが分かりづらいため、中を明るめに枠線を暗めにするのがおすすめです。

See the Pen 枠線が周るようにキラッと光るボタン(塗りつぶし) by チータツ (@cheese_fuji) on CodePen.

色付き背景ver.

ページ全体に色が付いている時のボタンのサンプルです。

たとえば、背景が青色の場合は、以下のような色合いがおすすめです。

See the Pen 枠線が周るようにキラッと光るボタン(青背景) by チータツ (@cheese_fuji) on CodePen.