react-customizable-modal
Version:
Customizable modal component for React Application
135 lines (133 loc) • 3.64 kB
CSS
.modal-background {
opacity: 0.0;
visibility: hidden;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.3);
transition-duration: 0.3s;
-webkit-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
-ms-transition-duration: 0.3s;
-o-transition-duration: 0.3s;
z-index: 300; }
.modal-background.show {
opacity: 1.0;
visibility: visible; }
.modal-background * {
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
box-sizing: border-box;
padding: 0;
margin: 0; }
.modal-background *:focus {
outline: none; }
.modal {
right: unset;
bottom: unset;
z-index: inherit;
overflow: unset;
display: block;
position: absolute;
top: 80px;
left: 50%;
margin-left: -250px;
height: auto;
width: 500px;
background-color: #fff;
border: 1px solid #eee;
padding: 20px 30px 70px 30px;
transform: translateY(-80px);
-webkit-transform: translateY(-80px);
-moz-transform: translateY(-80px);
-ms-transform: translateY(-80px);
-o-transform: translateY(-80px);
transition-duration: 0.3s;
-webkit-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
-ms-transition-duration: 0.3s;
-o-transition-duration: 0.3s; }
.modal.show {
transform: translateY(0px);
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px); }
@media screen and (min-width: 0px) and (max-width: 768px) {
.modal {
top: 0;
left: 0;
right: 0;
bottom: 0;
border: none;
margin-left: 0;
width: unset;
padding: 0; } }
.modal > .modal-close {
position: absolute;
top: -50px;
right: 0;
color: #fff;
cursor: pointer;
border: 1px solid #fff;
border-radius: 32px;
width: 32px;
height: 32px;
text-align: center;
line-height: 32px;
font-size: 18px; }
.modal > .modal-close:hover {
background-color: rgba(255, 255, 255, 0.3); }
.modal > .modal-title {
font-size: 24px;
margin-bottom: 20px;
line-height: 1.42857143; }
.modal > .modal-title > .back {
display: none; }
@media screen and (min-width: 0px) and (max-width: 768px) {
.modal > .modal-title {
height: 50px;
background-color: #283238;
padding: 0;
color: #fff;
font-size: 18px;
margin-bottom: 0;
line-height: 50px;
padding-left: 15px; }
.modal > .modal-title > * {
display: inline-block;
vertical-align: middle; }
.modal > .modal-title > .back {
display: inline-block;
margin-right: 10px;
font-size: 22px; } }
@media screen and (min-width: 0px) and (max-width: 768px) {
.modal > .modal-body {
padding: 20px 20px 20px 20px; }
.modal > .modal-body .form-group {
margin-left: 0;
margin-right: 0; } }
.modal > .modal-buttons {
position: absolute;
bottom: 0;
left: 0;
right: 0; }
.modal > .modal-buttons > button {
width: 50%;
border: none;
border-top: 1px solid #eee;
background-color: #fff;
cursor: pointer;
padding: 15px; }
.modal > .modal-buttons > button:hover {
background-color: #eee; }
.modal > .modal-buttons > .modal-buttons__close {
float: left;
border-right: 1px solid #eee; }
.modal > .modal-buttons > .modal-buttons__close.full-width {
float: none;
width: 100%; }
.modal > .modal-buttons > .modal-buttons__submit {
float: right;
color: #138bbe; }