Модальное окно на CSS3 - Форум
Большой портал
Здравствуй, желанный Гость! Авторизуйся или войди, чтобы стать частью нашей дружной семьи! Вход Регистрация
  • Страница 1 из 1
  • 1
Модератор форума: Admin  
Модальное окно на CSS3
Winston Offline Дата: Воскресенье, 30.12.2012, 19:53 | Сообщение # 1
Освоившийся
Сообщений: 231
Награды: 0
Репутация: 2010
Замечания: 0%


Для того, чтобы создать модальное окно на CSS3, не нужно каких-либо особых свойств и HTML тегов. Здесь делается все просто: мы на странице создаем обычный якорь, по нажатию которого появляется модальное окно.
Рассмотрим подробнее:

Код
<center><a href="#modalWindow" id="modalUrl">Открыть модальное окно, созданное на CSS3!</a> </center>  
     
   <a href="#modal" class="overlay" id="modalWindow"></a>  
   <div class="popup">  

   Это модальное окно<br>  
   <br>  
   <a class="close" href="#close">Закрыть</a>  
   </div>


CSS

Сначала стоит оформить свойство overlay, которое изначально у нас не задействовано, а лишь срабатывает по открытию модального окна. Данное свойство изменяет фон сайта и делает его полностью прозрачным:

Код
.overlay {  
   background-color: #DFDFDF; /* Цвет фона */  
   opacity: 0; /* Изначально непрозрачный */  
   position: fixed; /* Фиксированное позиционирование */  
   right: 0; /* Справа 0 */  
   top: 0; /* Сверху 0 */  
   left: 0; /* Слева 0 */  
   bottom: 0; /* Снизу 0 */  
   visibility: hidden; /* Изначально невидимый */  

   /* transition старт */  
   -webkit-transition:All 1s ease;  
   -moz-transition:All 1s ease;  
   -o-transition:All 1s ease;  
  }


Теперь нужно сделать, чтобы при открытие модального окна изменился фон, то есть стал прозрачным, одного цвета. Для это необходимо применить псевдокласс :target:

Код
.overlay:target {  
   visibility: visible; /* Делает видимым */  
   opacity: 1; /* Фон становится полностью прозрачным */  
  }


Теперь стоит оформить сам вид модального окна:

Код
.popup {  
   background-color: #478CFB; /* Фон */  
   padding: 20px; /* Внутренние отступы */  
   position: fixed; /* Фиксированное расположение */  
   visibility: hidden; /* Изначально - спрятан */  
   z-index: 10; /* z-index */  
   color:#fff; /* Цвет */  
   font: bold 12pt "Trebuchet MS", tahoma, verdana, arial narrow, arial; /* Толщина, размер и семейство шрифта */  
  }  

  .popup a {  
   color:#fff; /* Цвет */  
   font: bold 12pt "Trebuchet MS", tahoma, verdana, arial narrow, arial; /* Толщина, размер и семейство шрифта */  
  }


Теперь же, как сделать, что бы появилось модальное окно, а фон стал прозрачным и одного цвета? Здесь применяет тот же псевдокласс :target:

Код
.overlay:target+.popup {  
   top: 30%; /* Расположение */  
   left: 30%; /* Расположение */  
   opacity: 1; /* Убирает прозрачность */  
   visibility: visible; /* Делает видимым */  
  }


Вот и все. Как и оказалось, создать модальное окно на CSS3 - пустяк. Но, здесь есть одна серьезная проблема: это модальное окно не будет работать во многих старых браузерах, к примеру, в старых IE <9, а там без JS уже никуда.



https://darimpromokod.ru
https://tvoikassir.ru
Лучшие предложения от банков и МФО.
 
  • Страница 1 из 1
  • 1
Поиск:
Свернуть
Развернуть
Необходима авторизация
0