Как исправить проблему с изменением размера средства выбора даты?

Я настраиваю новый плагин datepicker в своем проекте laravel.

и хотите исправить проблему с реакцией при изменении размера для мобильного просмотра

это мои коды настройки, которые я выбираю из списка предложений создателя datepicker на его сайте:

$(function() {
        $("#input1").persianDatepicker({

            theme: 'melon',
            alwaysShow: 1,
            cellWidth: 36,
            cellHeight: 20,
            fontSize: 15,
            calendarPosition: {
            x: 0,
            y: -93,
        },
        });  

});

и это структура div, в которую я поместил datepicker:

<div class = "container-fluid">

    <div class = "container">


            <div class = "row my-4 justify-content-center">


                <div class = "col-xl-3">

                    <div class = "card bg-light py-4 mb-3">

                        <div class = "bg-light py-5">

                            <div class = "py-5 bg-light">

                                <div id = "input1"></div>

                            </div>

                        </div>

                    </div>
                    <div class = "card bg-primary py-4"></div>
                    <div class = "card bg-primary py-4"></div>
                </div>


                <div class = "col-xl-9">

                </div>                                 
            </div>  
    </div>
</div>

в представлении ноутбука у меня есть изображение ниже:

Как исправить проблему с изменением размера средства выбора даты?

и в мобильном представлении (iphone 6/7/8) у меня есть изображение ниже:

Как исправить проблему с изменением размера средства выбора даты?

так что я думаю, вы можете понять, в чем моя проблема

проблема в том, что когда кто-то открывает мою страницу в мобильном телефоне, календарь уходит влево, и я не знаю

как указать, что окно календаря соответствует размеру родительского элемента div и всегда соответствует размеру и полному размеру внутри родителя, например

вид с ноутбука

Для получения дополнительной информации это издатель этого плагина:


Датапикер

Ваши фото не отображаются?

cmac 15.02.2019 23:35

У вас есть ширина: 100% на нем?

cmac 15.02.2019 23:43

на где, пожалуйста, скажите мне точно точку?

user10242523 15.02.2019 23:45

Какой элемент вашего календаря?

cmac 15.02.2019 23:47

#input1 — это ваш элемент, который не растягивается до конца, верно?

cmac 15.02.2019 23:50

да, я хочу, чтобы календарь (input1) растягивался до своего родителя во всех размерах

user10242523 16.02.2019 00:08
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
549
2

Ответы 2

Добавьте этот css:

#input1 {
  width: 100%;
}

или вы можете сделать это так:

 <div id = "input1" style = "width:100%;"></div>

Наденьте на себя элемент <div class = "py-5 bg-light">. Я не знаю, какой у вас календарь. Осмотрите его, как на картинке, и найдите элемент, ширина которого не равна 100%.

cmac 15.02.2019 23:57

Вы имеете в виду, должен ли я установить ширину: 100% для всех div?

user10242523 16.02.2019 00:24

Вы хотите поместить его в div, который должен быть на 100%, а не на все.

cmac 16.02.2019 00:25

Попробуйте добавить этот CSS.

// only apply style on mobile
@media only screen and (max-width: 320px) {
  .pdp-default { 
    // Set calendar parent element to 100% width
    width: 100%;
    // Override inline left position set by plugin
    left: 0!important;
  }
  .pdp-default .cell {
     // set percent width of calendar date cells 7/100 = 14.28571428571429
     width: 14.28571428571429%!important;
     // Style calendar dates to stay at required aspect ratio
     height: 0!important;
     padding-bottom: 8%;
  }
}

кое-что изменилось: в размерах iphone 5/SE календарь растягивается на весь экран слева и справа! не для родительского div ... календарь растягивается по ширине и прилипает к левому и правому экрану

user10242523 16.02.2019 00:15

Добавьте position:relative; к родительскому div.

WizardCoder 16.02.2019 00:18

Извините, я только что заметил, что плагин добавляет HTML для календаря перед концом закрывающего тега body. Это означает, что на самом деле он не находится внутри вашей структуры DIV, поэтому вы не сможете добиться того, чего хотите, с помощью CSS. Вам нужно будет узнать, как получить ширину родительского элемента и применить ее к родительскому элементу календарей с помощью собственного javascript.

WizardCoder 16.02.2019 00:26

да, именно в конце проверки я мог видеть календарь в формате html, но я не знал, для чего это нужно, и теперь вы понимаете ... tnx, но я не знаю javascript, так что мне делать?

user10242523 16.02.2019 00:33

К сожалению, вам нужно будет использовать javascript. Единственным другим решением было бы иметь ширину вашего родительского div 100% на мобильном телефоне (что довольно нормально делать на мобильном телефоне) и применять только CSS, который я предоставил на мобильном телефоне, поэтому по умолчанию календарь будет иметь нормальный размер на планшете и рабочем столе.

WizardCoder 16.02.2019 00:40

я удаляю ваш код из css и добавляю ширину: 100% в html с помощью javascript div (режим проверки) и что-то изменилось: ширина календаря приклеивается справа от экрана! но левая сторона была хорошей и точно была на родительской границе, так что даже если я сделал это в javascript, это произойдет, так что дальше?

user10242523 16.02.2019 00:49

Вам также нужно будет получить позицию родительского div. Однако это становится слишком сложным для чего-то, что можно решить, настроив макет на мобильном устройстве. Я не думаю, что смогу чем-то еще помочь, потому что трудно дать точное решение, не видя работающую версию вашего кода, и у меня нет времени на локальную настройку плагина. Прости.

WizardCoder 16.02.2019 00:55

да, я знаю это, но позиционирование просто решает мою проблему в обычном режиме, а в мобильном представлении изменилось также причина того, что левая сторона находится точно на родительской границе, моя позиция установлена ​​​​... хорошо, спасибо за руководство, может быть, у кого-то еще есть время помочь меня, потому что все готово к работе, я связал загрузку адреса плагина ... Удачи, братан

user10242523 16.02.2019 01:02

Другие вопросы по теме