Модальное окно на чистом CSS
HTML
Создадим каркас для нашего модального окна:
<a href="#open-modal">Open modal</a>
<div class="modal" id="open-modal">
<div class="modal-container">
<p>text text text</p>
<a href="#modal-close">Close</a>
</div>
</div>
CSS
Далее немного стилизуем:
p {
margin-top: 0px;
}
.modal-container {
position: fixed;
background-color: #fff;
border: 1px solid #000;
width: 70%;
max-width: 400px;
left: 50%;
padding: 20px;
border-radius: 5px;
-webkit-transform: translate(-50%, -200%);
-ms-transform: translate(-50%, -200%);
transform: translate(-50%, -200%);
}
.modal:before {
content: "";
position: fixed;
display: none;
background-color: rgba(0,0,0,.8);
top: 0;
left: 0;
height: 100%;
width: 100%
}
Чтобы показать модальное окно мы воспользуемся псевдоклассом :target, появившемся в CSS3.
Добавим для этого следующих стилей:
.modal:target:before {
display: block;
}
.modal:target .modal-container {
top: 20%;
-webkit-transform: translate(-50%, 0);
-ms-transform: translate(-50%, 0);
transform: translate(-50%, 0);
}
Добавим анимации:
.modal-container {
...
-webkit-transition: -webkit-transform 200ms ease-out;
transition: transform 200ms ease-out;
}
Результат
Теги: css