【JS不要、コピペで1分】CSSだけで作るポップアップメニュー

この記事を読むのに必要な時間は約 8 分です。

簡単!Javascript不要!CSSだけで作るポップアップメニューの紹介です。
ソースをコピペするだけで即使えます。

デモの紹介

まずはサンプル用のデモです。シンプルで汎用性の高いポップアップメニューです。
下記「ポップアップ用ボタン」をクリックするとポップアップメニューが表示されます。

ソース

以下のソースをコピペすると使えます。
実装に1分かかりません。

HTML

<label for="trigger" class="open_btn">ポップアップ用ボタン</label>
<div class="popup_wrap">
  <input id="trigger" type="checkbox">
  <div class="popup_overlay">
    <label for="trigger" class="popup_trigger"></label>
    <div class="popup_content">
        <label for="trigger" class="close_btn">×</label>
        <p>ポップアップ画面の中身です。</p>
    </div>
  </div>
</div>

CSS

.popup_wrap input {
  display: none;
}
.popup_overlay {
  display: flex;
  justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: #37beb03d;
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
}
.popup_trigger {
  position: absolute;
  width: 100%;
  height: 100%;
}
.popup_content {
  position: relative;
  align-self: center;
  width: 75%;
  max-width: 800px;
  box-sizing: border-box;
  background: #fff;
  line-height: 1.4em;
  transition: 0.5s;
  border-radius: 12px;
  box-shadow: 0 0 5px rgba(94, 94, 94, 0.7);
}
.popup_content p{
    padding:20px 20px 5px 20px;
    text-align: center;
}
.close_btn {
  position: absolute;
  top: 14px;
  right: 16px;
  font-size: 30px;
  cursor: pointer;
  color:#37beb0;
}
.popup_wrap input:checked ~ .popup_overlay {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
}
.open_btn {
    color: #37beb0;
    border-radius: 3px;
    cursor: pointer;
    transition: .3s ease;
    border:1px solid #37beb0;
    padding:5px 15px;
    font-weight: bold;
}
.open_btn:hover{
    background:#37beb0;
    color:#fff;
    transition: .3s ease;
}

おわりに

以上、シンプルなポップアップメニューをCSSだけで作る方法の紹介でした。

ではまた!