ボタン・広告

画面に追従するバナー広告(アンカー広告)

HTML+CSSで作る! 画面に追従するバナー広告 (アンカー広告)

See the Pen Untitled by チータツ (@cheese_fuji) on CodePen.

画面上部ににょきっと登場する追従バナー。
Googleアドセンスでいうところの「アンカー広告」に当たります。

アフィリエイトの横長バナーを貼るのも良いのですが、セール情報やおすすめ商品のバナーを自作して貼っておくと結構売れるのでおすすめです。

こちらもチェック

バナーよりボタン派はこちら
画面に追従するアフィリエイトボタン

CSSの解説

画面の追従はposition: fixedを使った固定表示。

クリックの感知にはチェックボックス(input要素)を使用。
チェックボックスのチェックの有無に応じて、transform: translateY()で 画面外↔画面上部 を変更しています。

  • 登場時のスライドインアニメーション
    • @keyframesを使用してアニメーションを作成
    • 0%時点でtop: -600pxの画面外
    • 100%でtop:0 の画面内(画面上部)へ
  • クリック感知のためのチェックボックスを設置 input type="checkbox"
    • display: noneで隠す
  • 追従バナー全体 .float-banner
    • display: inline-blockでインラインブロック要素に(高さ可変式にするため)
    • position: fixedで画面に固定して表示
    • width: 100%で長さは画面幅に
    • animationで登場時のアニメーションを指定
      (登場を遅らせたい場合はanimation-delayを変更する)
    • transition: 1s ease-in-outで表示・非表示切り替えの早さ・動き方を指定
  • 表示・非表示を切り替えるためのスライドボタン .slide-btn
    • チェックボックスと連動させる label 属性で作成
      (for ="" を使ってチェックボックスと同じ id を指定する)
    • position: absoluteを使ってバナーの左下に配置
    • 文字 "^" は疑似要素:beforeを使って設置
  • スライドボタンをクリックするとチェックボックスに✔が入る
    • 疑似要素 :checked を使用して条件分岐
    • バナーをtransform: translateY(-100%)で画面外まで上に移動
    • スライドボタンをtransform: rotate(180deg)で反転(下矢印にする)

チェックボックスとのバナーの関係を分かりやすくするため、チェックボックスを表示させたものが以下のサンプルです。

See the Pen Untitled by チータツ (@cheese_fuji) on CodePen.

なお、自作バナー(画像)を使用する場合は 700×80 ぐらいが綺麗に映える大きさだと思います。

※スマホ表示の場合は画像の横幅が最大360px、タブレット表示の場合は最大800pxまでに縮小されます。

応用CSS

画面下に追従するバナー広告

固定表示する位置を画面下に変更したもの。
ヘッダーを固定している場合はこちらの使用をオススメします。

See the Pen Untitled by チータツ (@cheese_fuji) on CodePen.