За последние 24 часа нас посетили 21492 программиста и 1022 робота. Сейчас ищут 825 программистов ...

Модальное окно

Тема в разделе "Сделайте за меня", создана пользователем Ruslanpro, 2 авг 2017.

Метки:
  1. Ruslanpro

    Ruslanpro Активный пользователь

    С нами с:
    17 мар 2017
    Сообщения:
    151
    Симпатии:
    6
    http://prorab-service.ru/new1/mastera/almaznayarezka/almaznayarezka.php
    Помогите разобраться с модальным окном
    Нужно чтобы при нажатии на телефон модальное окно появлялась по центру монитора. В данный момент он приклеивается к верху браузера
    Только на css

    Нужно сделать модальное окно как на этом сайте php.ru при клике не имя пользователя
     
    #1 Ruslanpro, 2 авг 2017
    Последнее редактирование: 2 авг 2017
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
  3. Ruslanpro

    Ruslanpro Активный пользователь

    С нами с:
    17 мар 2017
    Сообщения:
    151
    Симпатии:
    6
    @denis01 модальное окно есть только не корректно работает на моем сайте, может она конфликтует с другими стилями
     
  4. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @Ruslanpro, у Вас установлено для модального окна position: relative а должно быть fixed. Чтобы по центру было используйте для top значение calc(50vh - 150px), где 50vh - это 50% от высоты окна, а 150px - это половина от высоты блока (300px)
     
    TeslaFeo и Ruslanpro нравится это.
  5. Ruslanpro

    Ruslanpro Активный пользователь

    С нами с:
    17 мар 2017
    Сообщения:
    151
    Симпатии:
    6
    @Maputo спасибо за ответ, если можно по подробнее про top как именно написать top:?
     
  6. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @Ruslanpro, top: calc(50vh - 150px);
    У Вас ведь высота модального окна 300px? 300 / 2 = 150
     
    Ruslanpro нравится это.
  7. Ruslanpro

    Ruslanpro Активный пользователь

    С нами с:
    17 мар 2017
    Сообщения:
    151
    Симпатии:
    6
  8. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Что не то?
     
    Ruslanpro нравится это.
  9. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    смысл выравнивания по центру, хоть по вертикали, хоть по горизонтали, в том, что ты сдвигаешь, например, левую часть окна от левой стенки браузера на 50% ширины окна браузера, а потом сдвигаешь в другую сторону на 50% ширины окна. Это я горизонтальное выравнивание описал. Maputo выше описал вертикальное выравнивание.
     
    Ruslanpro нравится это.
  10. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @TeslaFeo, у него просто высота и ширина модального окна по 100% установлена. После применения fixed растягивается под размер окна :D Вот и не получается у человека.
     
    Ruslanpro нравится это.
  11. Ruslanpro

    Ruslanpro Активный пользователь

    С нами с:
    17 мар 2017
    Сообщения:
    151
    Симпатии:
    6
    Код (Text):
    1. /*---------Модальное окно----------*/
    2.   .modalwindow{
    3.     width:100%;
    4.     height:100%;
    5.     position:relative;
    6.     display:none;
    7.     pointer-events:none;
    8.     background:rgba(0,0,0, .9);
    9.     z-index:9999;
    10.   }
    11.  
    12.   .modalwindow:target{
    13.     pointer-events:auto;
    14.     display:block;
    15.   }
    16.  
    17.   .window{
    18.     width:80%;
    19.     height:150px;
    20.     margin:0 auto;
    21.     padding:0;
    22.     position:fixed;
    23.     top:150px;
    24.     border-radius:5px;
    25.     background:#ffffff;
    26.     z-index:99999;
    27.   }


    Код (Text):
    1. <div class="modalwindow>
    2.    <div class="window">
    3.       <p>....</p>
    4.   </div>
    5. </div>

    modalwindow - полупрозрачный фон который должен растянуться по ширине и высоте всей страницы

    window - само окно которая должна позиционироваться


    Тут как я понял идет конфликт с стилями div в котором это модальное окно находится
    --- Добавлено ---
    @Maputo ширина и высота 100% это у полупрозрачного фона
     
  12. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @Ruslanpro, тут можно уже догадаться.
    для полупрозрачного фона:
    Код (CSS):
    1. width: 100%;
    2. height: 100%;
    3. position: fixed;
    4. top: 0;
    5. left: 0;
    Для окна:
    Код (CSS):
    1. width: 80%;
    2. height: 300px;
    3. position: relative;
    4. top: calc(50% -150px);
    5. margin: 0 auto;
     
    Ruslanpro нравится это.
  13. Ruslanpro

    Ruslanpro Активный пользователь

    С нами с:
    17 мар 2017
    Сообщения:
    151
    Симпатии:
    6
    @Maputo спасибо все вышло отлично!