Now Loading...

×ボタン付き広告を作ってみよう!

×ボタン付き広告

※この画面下に現れます。

コード(Codepen)

コードはこちらから見ることができます。

See the Pen ×ボタン付き広告(Popup Ad) by Shin (@shin-ichi) on CodePen.

解説

【HTML解説】

画像と×ボタンをそれぞれ作り、divタグの中に入れています。


【CSS解説】


.image-function{
//画像コンテナのCSSです。(画像と×ボタンを入れておくコンテ)画像の大きさや配置を書きます。

margin: 0 auto;
//中央寄せにするCSSです。

position: fixed;
//画面の中の固定された場所に画像を配置します。

bottom:3%;
//ウィンドウの下から3%の位置に画像を配置します。

left:40%;
//左から40%の位置に画像を配置します。

width: 20%;
//画像の幅を画面の20%にします。

height: auto;
//高さは画像の幅に合わせます(ここでは縦横比を維持)
}


.ad-image{
//画像自体の大きさなどを決めるCSSです。

width: 100%;
//幅を親要素に対して100%にします。(ここでは、上記画像コンテナの幅に対して100%)

height: auto;
//高さは幅によって決まります。(縦横比を維持します。)

margin: 0 auto;
//中央寄せのCSSです。

border-radius: 20px;
//ボタンの角の丸みの半径を20xにします。

z-index: 9995;
//重なりを9995にします。(9999が一番上になる。)
}


.close{
//×ボタンのCSSです。

position: absolute;
//配置は親要素(ここでは画像コンテナ)の決まった位置にします。

width: 20px;
//幅を20pxにします。

height: 20px;
//高さを20pxにします。

display: flex;横並びの配置にします。

align-items: center; 縦軸を中央寄せします。

justify-content: center;横軸を中央寄せします。

cursor: pointer;
//カーソルが乗った時はポインタ(手のアイコン)にします。

top: -15px;
//高さ(位置)を-15pxにします。(好みに合わせて微調整してください。)

right: -0px;
//右0pxの位置に配置します。(好みに合わせて微調整してください。)

z-index: 9999;
//重なりを一番上にします。

border-radius: 50%;
//ボタンの角の丸みを半径50%にします。

border: 2px solid #000000;
//枠線を太さ2px、実線、黒色に指定します。

color: #000000;
//×ボタンの文字色を黒にします。

background-color: #ffffff;
//背景色を白にします。

font-size: 16px;
//フォントサイズを16pxにします。

font-weight: bold;
フォントウエイトをボールド(太線)にします。

}


.floating-image:hover{
//画像にマウスが乗った時のCSSです。

opacity: 0.6;
//透明度を0.6にします。(0が透明、1が不透明)

transition:0.3s;
//透明になるまでの時間を指定します。
}

.hided{
//×ボタンを押した時に広告を消すために使うCSSです。

visibility: hidden;
//非表示にします。

opacity: 0;
//透明にします。

}


/*広告等を下からふわっと表示*/
.ad-fade{
//アニメーションを付けるCSSです。下記のkeyflamesとはセットで使うことが多いです。

opacity:0;
//透明にしておきます。

animation-name: ad;
//このアニメーションの名前です。

animation-duration:2s;
//アニメーションが完了するまでの時間です。

animation-fill-mode: forwards;
//アニメーション終了後の状態を保持します。

}

@keyframes ad{
//adという名前をつけたアニメーションについてのCSSです。

0% {
//0%(開始状態)

opacity: 0;
//完全に透明にしておきます。

transform: translateY(50px);
//Y方向(縦方向)に50px下にずらした所から開始します。

}

100%{
//100%(終了状態)

opacity: 1;
//完全に表示(不透明)します。

transform: translateY(0);
//元の位置に戻ります。

}
}

【JavaScript解説】


const popupContents = document.querySelector('#popup-contents');
//「popup-contents」というidをつけた要素を取り出して、「popupContents」に入れておきます。

const popupImg = document.querySelector('#popup-img');
//「popup-img」というidをつけた要素を取り出して、「popupImg」に入れておきます。

const closeButton = document.querySelector('#close-button');
//「close-button」というidをつけた要素を取り出して、「closeButton」に入れておきます。


closeButton.addEventListener('click', () => {
//closeButton(×ボタン)がクリックされたときに下記コードを実行します。

popupContents.classList.add('hided');
//「popupContents」にクラスが「hided」のCSSを付加します。(付加すると画像コンテナが非表示になります。)

popupImg.classList.add('hided');
//「popupImg」にクラスが「hided」のCSSを付加します。(付加すると画像が非表示になります。)

closeButton.classList.add('hided');
//「closeButton」にクラスが「hided」のCSSを付加します。(付加すると×ボタンが非表示になります。)
});