LoginSignup
0
0

More than 5 years have passed since last update.

CSSのみでモーダルを作る

Last updated at Posted at 2019-03-22

背景

cssのみでモーダルを作れることを知り、簡単なものを作ってみました。

HTML

まずはHTMLから。

modal.html
<input type="checkbox" id="toggle">
<label for="toggle">open modal</label>

<dialog>
  <p>This is a Modal</p>

  <label for="toggle">close Modal</label>
</dialog>

inputのところが注目ポイントですね。type="checkbox"にしてそれをcsscheckedで判別します。
またdialogの部分がモーダルになります。

CSS

次にCSSです。

modal.scss
#toggle {
  visibility: hidden;
  opacity: 0;
  z-index: -1;
}

#toggle:checked ~ dialog {
  display: block;
}

//ここからは見た目の調整

body {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

label {
  border: 5px solid gray;
  background-color: gray;
  color: white;
  border-radius: 5px;
  cursor: pointer;
}

dialog {
  border-radius: 5px;

  p {
    color: black;
  }
}

以上でいけているはずです。

完成

image.png

クリックすると

image.png

まとめ

とても簡単なものでしたが、CSSのみでモーダルを作ってみました。
参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0