对于我的网站,我选择使用预构建的模式,其中包含一些CSS和2个JS文件。 我在解决HTML和CSS代码方面没有任何问题,但我还没有足够的JS知识来解决我遇到的问题。
下面的代码片段展示了我在网站上的内容,基本上在我的一个模态中有一个链接可以打开一个新的模态。 Exept我无法找到一种让它在打开新模态之前关闭当前模态的方法。
用于切换模态的HTML代码是:
<a href="#" class="md-trigger" data-modal="modal-name">
并关闭模态:
<a href="#" class="md-close">
这是我的片段:
/** First JS script : classie.js **/
/*!
* classie - class helper functions
* from bonzo https://github.com/ded/bonzo
*
* classie.has( elem, 'my-class' ) -> true/false
* classie.add( elem, 'my-new-class' )
* classie.remove( elem, 'my-unwanted-class' )
* classie.toggle( elem, 'my-class' )
*/
/*jshint browser: true, strict: true, undef: true */
/*global define: false */
( function( window ) {
'use strict';
// class helper functions from bonzo https://github.com/ded/bonzo
function classReg( className ) {
return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
}
// classList support for class management
// altho to be fair, the api sucks because it won't accept multiple classes at once
var hasClass, addClass, removeClass;
if ( 'classList' in document.documentElement ) {
hasClass = function( elem, c ) {
return elem.classList.contains( c );
};
addClass = function( elem, c ) {
elem.classList.add( c );
};
removeClass = function( elem, c ) {
elem.classList.remove( c );
};
}
else {
hasClass = function( elem, c ) {
return classReg( c ).test( elem.className );
};
addClass = function( elem, c ) {
if ( !hasClass( elem, c ) ) {
elem.className = elem.className + ' ' + c;
}
};
removeClass = function( elem, c ) {
elem.className = elem.className.replace( classReg( c ), ' ' );
};
}
function toggleClass( elem, c ) {
var fn = hasClass( elem, c ) ? removeClass : addClass;
fn( elem, c );
}
var classie = {
// full names
hasClass: hasClass,
addClass: addClass,
removeClass: removeClass,
toggleClass: toggleClass,
// short names
has: hasClass,
add: addClass,
remove: removeClass,
toggle: toggleClass
};
// transport
if ( typeof define === 'function' && define.amd ) {
// AMD
define( classie );
} else {
// browser global
window.classie = classie;
}
})( window );
/** Second JS Script : modalEffects.js **/
/**
* modalEffects.js v1.0.0
* http://www.codrops.com
*
* Licensed under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
*
* Copyright 2013, Codrops
* http://www.codrops.com
*/
var ModalEffects = (function() {
function init() {
var overlay = document.querySelector( '.md-overlay' );
[].slice.call( document.querySelectorAll( '.md-trigger' ) ).forEach( function( el, i ) {
var modal = document.querySelector( '#' + el.getAttribute( 'data-modal' ) ),
close = modal.querySelector( '.md-close' );
function removeModal( hasPerspective ) {
classie.remove( modal, 'md-show' );
if( hasPerspective ) {
classie.remove( document.documentElement, 'md-perspective' );
}
}
function removeModalHandler() {
removeModal( classie.has( el, 'md-setperspective' ) );
}
el.addEventListener( 'click', function( ev ) {
classie.add( modal, 'md-show' );
overlay.removeEventListener( 'click', removeModalHandler );
overlay.addEventListener( 'click', removeModalHandler );
if( classie.has( el, 'md-setperspective' ) ) {
setTimeout( function() {
classie.add( document.documentElement, 'md-perspective' );
}, 25 );
}
});
close.addEventListener( 'click', function( ev ) {
ev.stopPropagation();
removeModalHandler();
});
} );
}
init();
})();
&#13;
.md-modal *, .md-modal *:after, .md-modal *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.md-modal body, .md-modal html { font-size: 100%; padding: 0; margin: 0; font-family: 'Comfortaa', cursive; }
/* Clearfix */
.md-modal .clearfix:before, .md-modal .clearfix:after { content: " "; display: table; }
.md-modal .clearfix:after { clear: both; }
/* Header Style */
.md-modal .main,
.md-modal .container > header {
margin: 0 auto;
padding: 20px;
}
.md-modal .container > header {
text-align: center;
background: #d94839;
padding: 30px;
}
.md-modal .container > header h1 {
font-size: 28px;
line-height: 42;
margin: 0;
}
.md-modal .container > header span {
display: block;
font-size: 60%;
opacity: 0.7;
padding: 0 0 5px 1px;
}
/* Main Content */
.md-modal .main {
max-width: 800px;
}
.md-modal .column {
float: left;
width: 50%;
padding: 0 20px;
min-height: 300px;
position: relative;
}
.md-modal .column:nth-child(2) {
box-shadow: -1px 0 0 rgba(0,0,0,0.1);
}
.md-modal .column p {
font-size: 14px;
padding: 0;
margin: 0;
text-align: right;
line-height: 22px;
}
.md-modal button {
font-weight: 400;
border: none;
padding: 8px 16px;
background: #d3493b;
color: #fff;
font-family: 'Comfortaa', cursive;
font-size: 14px;
letter-spacing: 1px;
text-transform: uppercase;
cursor: pointer;
display: inline-block;
margin: 3px 2px;
border-radius: 2px;
}
.md-modal button:hover {
background: #c0392b;
}
@media screen and (max-width: 46.0625em) {
.md-modal .column {
width: 100%;
min-width: auto;
min-height: auto;
padding: 10px;
}
.md-modal .column p {
text-align: left;
font-size: 14px;
}
.md-modal .column:nth-child(2) {
box-shadow: 0 -1px 0 rgba(0,0,0,0.1);
}
}
/* components */
.md-modal .md-perspective,
.md-modal .md-perspective body {
height: 100%;
overflow: hidden;
}
.md-modal .md-perspective body {
background: #222;
-webkit-perspective: 600px;
-moz-perspective: 600px;
perspective: 600px;
}
.md-modal .container {
background: #a6ba89;
min-height: 100%;
}
.md-modal {
position: fixed;
top: 150px;
left: 50%;
width: 50%;
width: 400px;
height: auto;
z-index: 2000;
visibility: hidden;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transform: translateX(-50%) translateY(-50%);
-moz-transform: translateX(-50%) translateY(-50%);
-ms-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
}
.md-show {
visibility: visible;
}
.md-overlay {
position: fixed;
width: 100%;
height: 100%;
visibility: hidden;
top: 0;
left: 0;
z-index: 1000;
opacity: 0;
background: rgba(0,0,0,0.4);
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
}
.md-show ~ .md-overlay {
opacity: 1;
visibility: visible;
}
/* Content styles */
.md-modal .md-content {
border: 1px solid #7a994d;
font-family: 'Comfortaa', cursive;
line-height: 22px;
color: #fff;
background: #a6ba89;
position: relative;
border-radius: 5px;
margin: 0 auto;
}
.md-modal p {
font-family: 'Comfortaa', cursive;
font-weight: normal;
font-size: 14px;
line-height: 22px;
}
.md-modal .md-content a {
font-family: 'Comfortaa', cursive;
color: #d3493b;
text-decoration: none;
margin: 0;
padding: 2px;
font-weight: bold;
}
.md-modal .md-content a:hover {
color: #c0392b
}
.md-modal .md-content h3 {
margin: 0;
padding: 10px;
text-align: center;
font-family: 'Comfortaa', cursive;
font-size: 24px;
line-height: 36px;
opacity: 0.8;
background: rgba(0,0,0,0.1);
border-radius: 3px 3px 0 0;
}
.md-modal .md-content > div {
padding: 15px 40px 30px;
margin: 0;
font-size: 14px;
}
.md-modal .md-content > div p {
margin: 0;
padding: 10px 0;
font-family: inherit;
text-align: left;
}
.md-modal .md-content > div ul {
margin: 0;
padding: 0 0 30px 20px;
}
.md-modal .md-content > div ul li {
padding: 5px 0;
}
.md-modal .md-content button {
display: block;
margin: 0 auto;
font-size: 12px;
}
/* Effect 9: 3D flip vertical */
.md-effect-9.md-modal {
-webkit-perspective: 1300px;
-moz-perspective: 1300px;
perspective: 1300px;
}
.md-effect-9 .md-content {
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-transform: rotateX(-70deg);
-moz-transform: rotateX(-70deg);
-ms-transform: rotateX(-70deg);
transform: rotateX(-70deg);
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
opacity: 0;
}
.md-show.md-effect-9 .md-content {
-webkit-transform: rotateX(0deg);
-moz-transform: rotateX(0deg);
-ms-transform: rotateX(0deg);
transform: rotateX(0deg);
opacity: 1;
}
&#13;
<ul class="txt">
<li><a href="#" class="md-trigger" data-modal="modal-about">Modal 1</a></li>
</ul>
<div class="md-modal md-effect-9" id="modal-about">
<div class="md-content">
<h3>Modal 1</h3>
<div>
<p>Modal content <a href="#" class="md-trigger" data-modal="modal-credits">Modal 2</a>
</p>
<button class="md-close">Close</button>
</div>
</div>
</div>
<div class="md-modal md-effect-9" id="modal-credits">
<div class="md-content">
<h3>Modal 2</h3>
<div>
<p>Another content</p>
<button class="md-close">Close</button>
</div>
</div>
</div>
<!-- the overlay element -->
<div class="md-overlay"></div><br type="_moz">
<script src="/core/script/modal/js/classie.js"></script>
<script src="/core/script/modal/js/modalEffects.js"></script>
&#13;
我查了很多处理这个问题的线程,但遗憾的是发现什么都不符合我的JS代码。有没有人知道如何在第二个模式弹出之前让我的第一个模态关闭?
任何建议/提示都会得到应用,非常感谢。
答案 0 :(得分:1)
最简单的方法,只需在打开时保存当前模态并在尝试打开另一个模态时将其关闭
/** First JS script : classie.js **/
/*!
* classie - class helper functions
* from bonzo https://github.com/ded/bonzo
*
* classie.has( elem, 'my-class' ) -> true/false
* classie.add( elem, 'my-new-class' )
* classie.remove( elem, 'my-unwanted-class' )
* classie.toggle( elem, 'my-class' )
*/
/*jshint browser: true, strict: true, undef: true */
/*global define: false */
(function(window) {
'use strict';
// class helper functions from bonzo https://github.com/ded/bonzo
function classReg(className) {
return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
}
// classList support for class management
// altho to be fair, the api sucks because it won't accept multiple classes at once
var hasClass, addClass, removeClass;
if ('classList' in document.documentElement) {
hasClass = function(elem, c) {
return elem.classList.contains(c);
};
addClass = function(elem, c) {
elem.classList.add(c);
};
removeClass = function(elem, c) {
elem.classList.remove(c);
};
} else {
hasClass = function(elem, c) {
return classReg(c).test(elem.className);
};
addClass = function(elem, c) {
if (!hasClass(elem, c)) {
elem.className = elem.className + ' ' + c;
}
};
removeClass = function(elem, c) {
elem.className = elem.className.replace(classReg(c), ' ');
};
}
function toggleClass(elem, c) {
var fn = hasClass(elem, c) ? removeClass : addClass;
fn(elem, c);
}
var classie = {
// full names
hasClass: hasClass,
addClass: addClass,
removeClass: removeClass,
toggleClass: toggleClass,
// short names
has: hasClass,
add: addClass,
remove: removeClass,
toggle: toggleClass
};
// transport
if (typeof define === 'function' && define.amd) {
// AMD
define(classie);
} else {
// browser global
window.classie = classie;
}
})(window);
/** Second JS Script : modalEffects.js **/
/**
* modalEffects.js v1.0.0
* http://www.codrops.com
*
* Licensed under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
*
* Copyright 2013, Codrops
* http://www.codrops.com
*/
var ModalEffects = (function() {
function init() {
var overlay = document.querySelector('.md-overlay'),
opened;
function removeModal(modal, hasPerspective) {
classie.remove(modal, 'md-show');
if (hasPerspective) {
classie.remove(document.documentElement, 'md-perspective');
}
}
[].slice.call(document.querySelectorAll('.md-trigger')).forEach(function(el, i) {
var modal = document.querySelector('#' + el.getAttribute('data-modal')),
close = modal.querySelector('.md-close');
function removeModalHandler() {
removeModal(modal, classie.has(el, 'md-setperspective'));
}
el.addEventListener('click', function(ev) {
if(opened){
removeModal(opened.modal, classie.has(opened.el, 'md-setperspective'));
}
classie.add(modal, 'md-show');
overlay.removeEventListener('click', removeModalHandler);
overlay.addEventListener('click', removeModalHandler);
if (classie.has(el, 'md-setperspective')) {
setTimeout(function() {
classie.add(document.documentElement, 'md-perspective');
}, 25);
}
opened = {
el:el, modal:modal
}
});
close.addEventListener('click', function(ev) {
ev.stopPropagation();
removeModalHandler();
});
});
}
init();
})();
.md-modal *,
.md-modal *:after,
.md-modal *:before {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.md-modal body,
.md-modal html {
font-size: 100%;
padding: 0;
margin: 0;
font-family: 'Comfortaa', cursive;
}
/* Clearfix */
.md-modal .clearfix:before,
.md-modal .clearfix:after {
content: " ";
display: table;
}
.md-modal .clearfix:after {
clear: both;
}
/* Header Style */
.md-modal .main,
.md-modal .container > header {
margin: 0 auto;
padding: 20px;
}
.md-modal .container > header {
text-align: center;
background: #d94839;
padding: 30px;
}
.md-modal .container > header h1 {
font-size: 28px;
line-height: 42;
margin: 0;
}
.md-modal .container > header span {
display: block;
font-size: 60%;
opacity: 0.7;
padding: 0 0 5px 1px;
}
/* Main Content */
.md-modal .main {
max-width: 800px;
}
.md-modal .column {
float: left;
width: 50%;
padding: 0 20px;
min-height: 300px;
position: relative;
}
.md-modal .column:nth-child(2) {
box-shadow: -1px 0 0 rgba(0, 0, 0, 0.1);
}
.md-modal .column p {
font-size: 14px;
padding: 0;
margin: 0;
text-align: right;
line-height: 22px;
}
.md-modal button {
font-weight: 400;
border: none;
padding: 8px 16px;
background: #d3493b;
color: #fff;
font-family: 'Comfortaa', cursive;
font-size: 14px;
letter-spacing: 1px;
text-transform: uppercase;
cursor: pointer;
display: inline-block;
margin: 3px 2px;
border-radius: 2px;
}
.md-modal button:hover {
background: #c0392b;
}
@media screen and (max-width: 46.0625em) {
.md-modal .column {
width: 100%;
min-width: auto;
min-height: auto;
padding: 10px;
}
.md-modal .column p {
text-align: left;
font-size: 14px;
}
.md-modal .column:nth-child(2) {
box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);
}
}
/* components */
.md-modal .md-perspective,
.md-modal .md-perspective body {
height: 100%;
overflow: hidden;
}
.md-modal .md-perspective body {
background: #222;
-webkit-perspective: 600px;
-moz-perspective: 600px;
perspective: 600px;
}
.md-modal .container {
background: #a6ba89;
min-height: 100%;
}
.md-modal {
position: fixed;
top: 150px;
left: 50%;
width: 50%;
width: 400px;
height: auto;
z-index: 2000;
visibility: hidden;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transform: translateX(-50%) translateY(-50%);
-moz-transform: translateX(-50%) translateY(-50%);
-ms-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
}
.md-show {
visibility: visible;
}
.md-overlay {
position: fixed;
width: 100%;
height: 100%;
visibility: hidden;
top: 0;
left: 0;
z-index: 1000;
opacity: 0;
background: rgba(0, 0, 0, 0.4);
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
}
.md-show ~ .md-overlay {
opacity: 1;
visibility: visible;
}
/* Content styles */
.md-modal .md-content {
border: 1px solid #7a994d;
font-family: 'Comfortaa', cursive;
line-height: 22px;
color: #fff;
background: #a6ba89;
position: relative;
border-radius: 5px;
margin: 0 auto;
}
.md-modal p {
font-family: 'Comfortaa', cursive;
font-weight: normal;
font-size: 14px;
line-height: 22px;
}
.md-modal .md-content a {
font-family: 'Comfortaa', cursive;
color: #d3493b;
text-decoration: none;
margin: 0;
padding: 2px;
font-weight: bold;
}
.md-modal .md-content a:hover {
color: #c0392b
}
.md-modal .md-content h3 {
margin: 0;
padding: 10px;
text-align: center;
font-family: 'Comfortaa', cursive;
font-size: 24px;
line-height: 36px;
opacity: 0.8;
background: rgba(0, 0, 0, 0.1);
border-radius: 3px 3px 0 0;
}
.md-modal .md-content > div {
padding: 15px 40px 30px;
margin: 0;
font-size: 14px;
}
.md-modal .md-content > div p {
margin: 0;
padding: 10px 0;
font-family: inherit;
text-align: left;
}
.md-modal .md-content > div ul {
margin: 0;
padding: 0 0 30px 20px;
}
.md-modal .md-content > div ul li {
padding: 5px 0;
}
.md-modal .md-content button {
display: block;
margin: 0 auto;
font-size: 12px;
}
/* Effect 9: 3D flip vertical */
.md-effect-9.md-modal {
-webkit-perspective: 1300px;
-moz-perspective: 1300px;
perspective: 1300px;
}
.md-effect-9 .md-content {
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-transform: rotateX(-70deg);
-moz-transform: rotateX(-70deg);
-ms-transform: rotateX(-70deg);
transform: rotateX(-70deg);
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
opacity: 0;
}
.md-show.md-effect-9 .md-content {
-webkit-transform: rotateX(0deg);
-moz-transform: rotateX(0deg);
-ms-transform: rotateX(0deg);
transform: rotateX(0deg);
opacity: 1;
}
<ul class="txt">
<li><a href="#" class="md-trigger" data-modal="modal-about">Modal 1</a>
</li>
</ul>
<div class="md-modal md-effect-9" id="modal-about">
<div class="md-content">
<h3>Modal 1</h3>
<div>
<p>Modal content <a href="#" class="md-trigger" data-modal="modal-credits">Modal 2</a>
</p>
<button class="md-close">Close</button>
</div>
</div>
</div>
<div class="md-modal md-effect-9" id="modal-credits">
<div class="md-content">
<h3>Modal 2</h3>
<div>
<p>Another content</p>
<button class="md-close">Close</button>
</div>
</div>
</div>
<!-- the overlay element -->
<div class="md-overlay"></div>
<br type="_moz">
<script src="/core/script/modal/js/classie.js"></script>
<script src="/core/script/modal/js/modalEffects.js"></script>
<强>更新强>
你将全部的转换设置为0.3秒,所以如果你想看到动画结束,你只需要在关闭后的0.3秒内运行show modal
/** First JS script : classie.js **/
/*!
* classie - class helper functions
* from bonzo https://github.com/ded/bonzo
*
* classie.has( elem, 'my-class' ) -> true/false
* classie.add( elem, 'my-new-class' )
* classie.remove( elem, 'my-unwanted-class' )
* classie.toggle( elem, 'my-class' )
*/
/*jshint browser: true, strict: true, undef: true */
/*global define: false */
(function(window) {
'use strict';
// class helper functions from bonzo https://github.com/ded/bonzo
function classReg(className) {
return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
}
// classList support for class management
// altho to be fair, the api sucks because it won't accept multiple classes at once
var hasClass, addClass, removeClass;
if ('classList' in document.documentElement) {
hasClass = function(elem, c) {
return elem.classList.contains(c);
};
addClass = function(elem, c) {
elem.classList.add(c);
};
removeClass = function(elem, c) {
elem.classList.remove(c);
};
} else {
hasClass = function(elem, c) {
return classReg(c).test(elem.className);
};
addClass = function(elem, c) {
if (!hasClass(elem, c)) {
elem.className = elem.className + ' ' + c;
}
};
removeClass = function(elem, c) {
elem.className = elem.className.replace(classReg(c), ' ');
};
}
function toggleClass(elem, c) {
var fn = hasClass(elem, c) ? removeClass : addClass;
fn(elem, c);
}
var classie = {
// full names
hasClass: hasClass,
addClass: addClass,
removeClass: removeClass,
toggleClass: toggleClass,
// short names
has: hasClass,
add: addClass,
remove: removeClass,
toggle: toggleClass
};
// transport
if (typeof define === 'function' && define.amd) {
// AMD
define(classie);
} else {
// browser global
window.classie = classie;
}
})(window);
/** Second JS Script : modalEffects.js **/
/**
* modalEffects.js v1.0.0
* http://www.codrops.com
*
* Licensed under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
*
* Copyright 2013, Codrops
* http://www.codrops.com
*/
var ModalEffects = (function() {
function init() {
var overlay = document.querySelector('.md-overlay'),
opened;
function removeModal(modal, hasPerspective) {
classie.remove(modal, 'md-show');
if (hasPerspective) {
classie.remove(document.documentElement, 'md-perspective');
}
}
[].slice.call(document.querySelectorAll('.md-trigger')).forEach(function(el, i) {
var modal = document.querySelector('#' + el.getAttribute('data-modal')),
close = modal.querySelector('.md-close');
function removeModalHandler() {
removeModal(modal, classie.has(el, 'md-setperspective'));
opened = undefined; // if close manually - clear opened
}
function showModal(){
classie.add(modal, 'md-show');
overlay.removeEventListener('click', removeModalHandler);
overlay.addEventListener('click', removeModalHandler);
if (classie.has(el, 'md-setperspective')) {
setTimeout(function() {
classie.add(document.documentElement, 'md-perspective');
}, 25);
}
}
el.addEventListener('click', function(ev) {
if(opened){
removeModal(opened.modal, classie.has(opened.el, 'md-setperspective'));
}
setTimeout(showModal, opened && 300 || 0);
opened = {
el:el, modal:modal
}
});
close.addEventListener('click', function(ev) {
ev.stopPropagation();
removeModalHandler();
});
});
}
init();
})();
.md-modal *,
.md-modal *:after,
.md-modal *:before {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.md-modal body,
.md-modal html {
font-size: 100%;
padding: 0;
margin: 0;
font-family: 'Comfortaa', cursive;
}
/* Clearfix */
.md-modal .clearfix:before,
.md-modal .clearfix:after {
content: " ";
display: table;
}
.md-modal .clearfix:after {
clear: both;
}
/* Header Style */
.md-modal .main,
.md-modal .container > header {
margin: 0 auto;
padding: 20px;
}
.md-modal .container > header {
text-align: center;
background: #d94839;
padding: 30px;
}
.md-modal .container > header h1 {
font-size: 28px;
line-height: 42;
margin: 0;
}
.md-modal .container > header span {
display: block;
font-size: 60%;
opacity: 0.7;
padding: 0 0 5px 1px;
}
/* Main Content */
.md-modal .main {
max-width: 800px;
}
.md-modal .column {
float: left;
width: 50%;
padding: 0 20px;
min-height: 300px;
position: relative;
}
.md-modal .column:nth-child(2) {
box-shadow: -1px 0 0 rgba(0, 0, 0, 0.1);
}
.md-modal .column p {
font-size: 14px;
padding: 0;
margin: 0;
text-align: right;
line-height: 22px;
}
.md-modal button {
font-weight: 400;
border: none;
padding: 8px 16px;
background: #d3493b;
color: #fff;
font-family: 'Comfortaa', cursive;
font-size: 14px;
letter-spacing: 1px;
text-transform: uppercase;
cursor: pointer;
display: inline-block;
margin: 3px 2px;
border-radius: 2px;
}
.md-modal button:hover {
background: #c0392b;
}
@media screen and (max-width: 46.0625em) {
.md-modal .column {
width: 100%;
min-width: auto;
min-height: auto;
padding: 10px;
}
.md-modal .column p {
text-align: left;
font-size: 14px;
}
.md-modal .column:nth-child(2) {
box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);
}
}
/* components */
.md-modal .md-perspective,
.md-modal .md-perspective body {
height: 100%;
overflow: hidden;
}
.md-modal .md-perspective body {
background: #222;
-webkit-perspective: 600px;
-moz-perspective: 600px;
perspective: 600px;
}
.md-modal .container {
background: #a6ba89;
min-height: 100%;
}
.md-modal {
position: fixed;
top: 150px;
left: 50%;
width: 50%;
width: 400px;
height: auto;
z-index: 2000;
visibility: hidden;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transform: translateX(-50%) translateY(-50%);
-moz-transform: translateX(-50%) translateY(-50%);
-ms-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
}
.md-show {
visibility: visible;
}
.md-overlay {
position: fixed;
width: 100%;
height: 100%;
visibility: hidden;
top: 0;
left: 0;
z-index: 1000;
opacity: 0;
background: rgba(0, 0, 0, 0.4);
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
}
.md-show ~ .md-overlay {
opacity: 1;
visibility: visible;
}
/* Content styles */
.md-modal .md-content {
border: 1px solid #7a994d;
font-family: 'Comfortaa', cursive;
line-height: 22px;
color: #fff;
background: #a6ba89;
position: relative;
border-radius: 5px;
margin: 0 auto;
}
.md-modal p {
font-family: 'Comfortaa', cursive;
font-weight: normal;
font-size: 14px;
line-height: 22px;
}
.md-modal .md-content a {
font-family: 'Comfortaa', cursive;
color: #d3493b;
text-decoration: none;
margin: 0;
padding: 2px;
font-weight: bold;
}
.md-modal .md-content a:hover {
color: #c0392b
}
.md-modal .md-content h3 {
margin: 0;
padding: 10px;
text-align: center;
font-family: 'Comfortaa', cursive;
font-size: 24px;
line-height: 36px;
opacity: 0.8;
background: rgba(0, 0, 0, 0.1);
border-radius: 3px 3px 0 0;
}
.md-modal .md-content > div {
padding: 15px 40px 30px;
margin: 0;
font-size: 14px;
}
.md-modal .md-content > div p {
margin: 0;
padding: 10px 0;
font-family: inherit;
text-align: left;
}
.md-modal .md-content > div ul {
margin: 0;
padding: 0 0 30px 20px;
}
.md-modal .md-content > div ul li {
padding: 5px 0;
}
.md-modal .md-content button {
display: block;
margin: 0 auto;
font-size: 12px;
}
/* Effect 9: 3D flip vertical */
.md-effect-9.md-modal {
-webkit-perspective: 1300px;
-moz-perspective: 1300px;
perspective: 1300px;
}
.md-effect-9 .md-content {
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-transform: rotateX(-70deg);
-moz-transform: rotateX(-70deg);
-ms-transform: rotateX(-70deg);
transform: rotateX(-70deg);
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
opacity: 0;
}
.md-show.md-effect-9 .md-content {
-webkit-transform: rotateX(0deg);
-moz-transform: rotateX(0deg);
-ms-transform: rotateX(0deg);
transform: rotateX(0deg);
opacity: 1;
}
<ul class="txt">
<li><a href="#" class="md-trigger" data-modal="modal-about">Modal 1</a>
</li>
</ul>
<div class="md-modal md-effect-9" id="modal-about">
<div class="md-content">
<h3>Modal 1</h3>
<div>
<p>Modal content <a href="#" class="md-trigger" data-modal="modal-credits">Modal 2</a>
</p>
<button class="md-close">Close</button>
</div>
</div>
</div>
<div class="md-modal md-effect-9" id="modal-credits">
<div class="md-content">
<h3>Modal 2</h3>
<div>
<p>Another content</p>
<button class="md-close">Close</button>
</div>
</div>
</div>
<!-- the overlay element -->
<div class="md-overlay"></div>
<br type="_moz">
<script src="/core/script/modal/js/classie.js"></script>
<script src="/core/script/modal/js/modalEffects.js"></script>