HTML&CSSでつくるモーダルウィンドウ

HTML&CSSでつくるモーダルウィンドウ

  • 「モーダルウィンドウ」とは、何らかの処理を行う際、ページ内で子ウィンドウを表示するためのウィンドウです。jQueryなどと連携して フェードイン、ポップアップするのが通例です。このブックではモーダルウィンドウのレイアウト部分に重点を置いて、その仕組みを見ていきます。


1. 箱(div要素)の作成
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Modal Window</title>
</head>
<body>
<div class="content">
<h1>Modal Window Test</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.<p>
</div>
</body>
</html>
2. モーダルウィンドウの作成
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Modal Window</title>
</head>
<body>
<div class="content">
<h1>Modal Window Test</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.<p>
</div>

<div class="modal">
<p ="modal_mask"></p>
<div class="modal_content">
<h2>MODAL WINDOW</h2>
<>Lorem ipsum dolor sit amet<>
</div><!-- /.modal_content -->
</div><!-- /.modal -->
</body>
</html>
3. CSS
@charset "UTF-8";

html, 
body {
  font-family: serif;
  height: 100%;
  margin: 0;
}
.content {
  background-color: #393;
  border: 1px solid #363;
  color: #EFE;
  font-size: 15px;
  margin: 30px auto;
  padding: 20px;
  width: 500px;
}
.modal {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.modal > .modal_mask {
  background-color: #333;
  height: 100%;
  margin: 0;
  opacity: 0.8;
  -ms-filter: alpha(opacity=80);
  position: absolute;
  width: 100%;
  z-index: 2;
}
.modal > .modal_content {
  background-color: #FFF;
  box-shadow: 0 0 30px #000;
  margin: 0 auto;
  padding: 20px;
  position: relative;
  text-align: center;
  top: 150px;
  width: 360px;
  z-index: 3;
}