Dobrovoi Master
сделано с душой
В состоянии постоянного подключения...

Модальное окно на CSS3 (вариант №2)

Здравствуйте всем!
Сегодня будет не полноценный урок, а всего лишь небольшая демонстрация, ещё одного варианта всплывающего модального окна, реализованного исключительно средствами , без javascript и дополнительных изображений в формировании стилей.
За основу взят первый вариант: «Модальные всплывающие окна с помощью CSS3 без Javascript», проверенный и ставший довольно популярным среди пользователей, читающих мой блог.
 
Модальное окно на CSS3
 
Во втором варианте, особо нового вы ничего не увидите, как мог, постарался упростить всю конструкцию (html, css), добавил совсем чуточку элементов анимации при появлении окна, немного видоизменил кнопку закрытия и ещё пару-тройку несущественных мелочей.

Чтобы вам легче было разобраться что к чему и зачем, оставил все исходники и живой пример работы окошка в онлайн-редакторе, так что смело можете поэкспериментировать с параметрами «не отходя от кассы» ))).

Для тех же, кто предпочитает смотреть живой пример работы модального окошка на отдельной странице, специально такую страницу заделал. Исходники бережно упаковал в архив и выложил для скачивания через Яндекс.Диск:

Кстати, если кого заинтересовала кнопочка, для вызова модального окна, что представлена в примере, совсем недавно, я подробно расписывал, как сделать такую «Ну очень большую кнопку 3D».
С поддержкой браузерами данного решения, всё как всегда, современные версии отлично обрабатывают вывод модального окна, а IE-шка версии ниже 9-й версии, пролетает мимо, как и сидельцы упорно использующие это детище мягкотелых. Так что работаем всё больше на будущее ))).
Заметите ошибку, или возникнут вопросы, пишите в комментариях [↓], всё обязательно обсудим.

С Уважением, Андрей .

Буду всем признателен, если поддержите проект — добавив блог в исключения AdBlock и поделитесь ссылкой на запись в своих соц-сетях:

Всего комментариев: 13

  • Алексей: 4 сентября, 2014 в 20:37

    Здравствуйте. Подскажите, пожалуйста, что необходимо сделать, чтоб разместить на одной странице несколько модальных окон? То есть мне нужно разместить 2 ссылки, при нажатии на которые открывались бы окна с разным содержанием.

    Ответить
    • driver: 4 сентября, 2014 в 21:03

      В каждой ссылке прописываете адрес соответствующий идентификаторам модальных окон. В примере одно окно с id="openmodal", в ссылке на вызов соответственно href="#openmodal". К каждому новому окну просто добавляйте порядковый номер, если ссылка href="#openmodal-1", она откроет окно с id="openmodal-1",и т.д…

      Ответить
      • Алексей: 4 сентября, 2014 в 22:12

        Елки-палки! Как всё просто оказывается!
        Спасибо Вам огромное за помощь, за быстрый ответ и СПАСИБИЩЕ, что создали блог и делитесь опытом!!!!

        Ответить
  • Дима: 12 сентября, 2014 в 17:09

    Добрый день, подскажите почему открывается в новой вкладке?

    Ответить
    • driver: 12 сентября, 2014 в 22:17

      Посмотрите ссылку открытия модального окна, не используете ли вы атрибут target="_blank", если он у вас прописан удалите.

      Ответить
  • Sergey: 2 февраля, 2015 в 18:23

    Спасибо большое за совет!
    Работают окна с загрузкой посредством .

    Ответить
  • Александр: 25 марта, 2015 в 14:19

    Добрый день! Большое спасибо за очень ценный и интересный материал. Использовал это окно на своем сайте, но столкнулся с неожиданной проблемой. В случае если ссылка на открытие модального окна находится внизу страницы с большим количеством контента, при его открытии верхняя граница вертикальной полосы прокрутки страницы выравнивается с текущим её положением, тем самым отрезая часть контента, но при этом отрезанные пиксели появляются ниже футера в виде пустой области… Причем проблема проявляется не на всех страницах а только на некоторых без всякой видимой системы.

    Ответить
    • driver: 25 марта, 2015 в 16:59

      День добрый, Александр. Даже не могу предположить, учитывая, что косяк всплывает не системно, загвоздка может крыться в чём угодно. У меня, да и в интернетах, полно других вариантов исполнения модальных окон. В этом примере использую модальный блок внутри контейнера выполняющего функцию затемнения фона, прячу окошко минусуя от верхней границы top: -1000px, позиционирую относительно. Попробуйте исключить в классе .dialog position: relative; вообще, отдав тем самым позиционирование окна родителю. Правда в этом случае улетит кнопка закрытия, но это уже лечится довольно легко.
      Проверял на страницах с объёмным содержанием, с размером блока контента +10000px, браузеры обрабатывают в общем корректно, только в Safari прослеживаются некоторые притормаживания при появлении окна. Так что, ищите да обрящите)))

      Ответить
      • Александр: 25 марта, 2015 в 18:10

        И снова приветствую! Большое спасибо за оперативный ответ! Ваш совет помог, проблема исчезла, но как Вы и сказали улетела кнопка закрытия, которая помимо помимо чисто эстетической функции (а с этим хочу заметить все обстоит супер), несет еще и чисто практическую функцию. И поскольку Вы сказали, что это лечится легко, смиренно снова прошу совета=)

        Ответить
  • Александр: 27 марта, 2015 в 16:13

    Выяснились новые подробности=) Во первых глюк опять вернулся, но нет худа без добра, появился эффект который не работал раньше, а именно при закрытии форма стала постепенно растворяться, раньше это не работало. Во вторых оказалось что проблема проявляется только в хроме, в фоксе и опере работает без нареканий!

    Ответить
  • Sergey: 29 ноября, 2015 в 18:23

    Спасибо за интересный материал! Подскажите, а возможна реализация открытия модального окна с загрузкой в него данных с внешнего URL на CSS (или это возможно реализовать только на JS/JQuery)?

    Ответить
    • driver: 29 ноября, 2015 в 19:40

      Здравствуйте.
      Используйте <iframe> с внешним url внутри блока мод. окна. Подгоните размеры окна так чтобы фрейм корректно вписывался в модальный блок, при необходимости пропишите прокрутку

      Ответить

Оставить комментарий

Ваш email не будет опубликован.

Вы можете использовать следующие HTML тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>