JSFiddle - React, Tailwind, and code Playground
HTML
<div id="modal-window" class="modal-window" >
<div id='modal-head' class="modal-head"><h2>Hello</h2></div>
<div id='modal-body' class="modal-body">I am modal window â„–2</div>
<div id='modal-footer' class = "modal-footer">
<span class='modal-button close-button'>Close me</span>
</div>
</div>
<input id="bt" type="button" value="show"/>
CSS
.modal-window {
width: 300px;
position:absolute;
left:100px;
background-color: white;
z-index: 100000;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #808080;
margin: 0;
color: #808080;
font-size: 13px;
font-weight: normal;
line-height: 18px;
background-color: #FFFFFF;
border: 1px solid #EAEEFA;
border: 1px solid rgba(234, 238, 250, 0.6);
-webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.6);
-moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.6);
box-shadow: 0 0 3px rgba(0, 0, 0, 0.6);
}
.modal-head {
padding: 5px 15px;
margin: 0;
}
.modal-head h2 {
text-align: center;
}
.modal-body {
padding: 40px;
font-size: 15px;
text-align: center;
border-top: 1px solid #EEEEEE;
-webkit-border-radius: 0 0 6px 6px;
-moz-border-radius: 0 0 6px 6px;
border-radius: 0 0 6px 6px;
-webkit-box-shadow: inset 0 1px 0 #FFF;
-moz-box-shadow: inset 0 1px 0 #FFF;
box-shadow: inset 0 1px 0 #FFF;
}
.modal-footer {
display: block;
background-color: #F5F5F5;
padding: 10px 11px 11px;
border-top: 1px solid #EEEEEE;
-webkit-border-radius: 0 0 6px 6px;
-moz-border-radius: 0 0 6px 6px;
border-radius: 0 0 6px 6px;
-webkit-box-shadow: inset 0 1px 0 #FFF;
-moz-box-shadow: inset 0 1px 0 #FFF;
box-shadow: inset 0 1px 0 #FFF;
zoom: 1;
margin-bottom: 0;
text-align: center;
cursor: pointer;
font-family:arial;
font-size: 15px;
}
.modal-overlay {
width: 100%;
height: 100%;
z-index: 99999;
background-color: black;
opacity: .8;
display: none;
position: fixed;
top:0;
left: 0;
-webkit-box-shadow: 0 0 15px #fff;
-moz-box-shadow: 0 0 15px #fff;
-o-box-shadow: 0 0 15px #fff;
box-shadow: 0 0 15px #fff;
}
.modal-window-animate {
transition: top .7s ease-in;
-o-transition: top .7s ease-in;
...
JavaScript
var bt = document.getElementById("bt"),
win = document.getElementById( "modal-window" );
var c =false;
bt.onclick=function () {
win.classList.remove("modal-window-animate");
win.style.top = -win.clientHeight + "px";
showAnimateWin( ) ;
}
function end( ) {
var top = ( window.innerHeight - win.offsetHeight ) / 2,
left = ( window.innerWidth - win.offsetWidth ) / 2;
win.style.top = top + "px";
win.style.left = left + "px";
}
function showAnimateWin( ) {
end();
win.classList.add("modal-window-animate");
//setTimeout(end, 0 );
};