Перекрытие div при использовании текстовой области на мобильном устройстве

#css #mobile #layout #overflow

#css #Мобильный #макет #переполнение

Вопрос:

На изображениях ниже я считаю, что проблема не требует пояснений. Содержимое отлично работает до тех пор, пока не попытается ввести текст. Буду признателен за любые советы о том, что является причиной этого. Извините, что изображения такие большие. Я удалил часть HTML-кода (логотип, меню и скрытую панель навигации) для удобства чтения

введите описание изображения здесь

введите описание изображения здесь

  <section class="contact-background" id="particles-js" >
</section>
    <section class="contact-page">
<div class="contact-container">
    <h1>Get In Touch</h1>
        <div class="border"></div>
    <p>I'll get back to you promptly</p>
    <form class="contact-form" action="contactform.php" method="POST">

        <input class="contact-form-text" type="text" id="name" name="name" placeholder="Full name" tabindex="1" required>
        <input  class="contact-form-text" type="email" name="email" placeholder="Your E-mail" tabindex="2" required>
        <input class="contact-form-text" type="text" id="subject" name="subject" placeholder="Subject" tabindex="3" required>
        <textarea class="contact-form-text" id="message" name="message" placeholder="Message" tabindex="4"></textarea>
        <button class="contact-form-button" type="submit" name="submit" value="Send">Send</button>

    </form>
</div>
</section>
  
     body{
    display: inline-block;
    width: 100%;
    height: 100%;
    position: absolute;;
} 
  
 #particles-js{
    background-size: cover;
    height: 100%;
    width: 100%;
    position: absolute;
}
  
  .contact-page{
    height: 100%;
    width: 100%;
}
  
  .contact-container{
    height: 100%;
    width: 100%;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
  
 .contact-form{
    display: flex;
    max-width: 60rem;
    padding: 2rem;
    flex-direction: column;
    align-items: center;
}
  

Ответ №1:

В этом есть что-то общее с вашим использованием position: absolute; . Почему вы используете его для большинства элементов вашего контейнера?

Комментарии:

1. Я подумал, что это может быть так, но если это реальная проблема, я не знаю. Я использую absolute из-за слоя js-particle. Вы можете просмотреть веб-сайт здесь, он только запущен и находится в разработке на данный момент, и вы не можете увидеть эту ошибку, не используя телефон 127.0.0.1:3000/contact.html

2. @DecisiveDevelopment к сожалению, вы настроили свою среду разработки на локальный сервер. Я не могу просмотреть ваш локальный сервер. Вы могли бы поместить свой код в jsfiddle и поделиться ссылкой здесь. Таким образом, мне легче его просматривать.

3. Извините, я разместил неправильную ссылку. decisive-development.com/contact.html

Ответ №2:

Одна из проблем, которую я вижу здесь, связана с css contact-container, вы задаете высоту 100%, а содержимое должно быть в центре. Поэтому, когда ваша клавиатура находится на вашем окне просмотра, оно становится маленьким, и все содержимое, включая форму и h1, пытается оставаться в центре.

Ваш contact-контейнер имеет абсолютную позицию, поэтому он будет абсолютным для HTML-тега, а форма будет пытаться быть относительной к HTML, поскольку вместо contact-container содержит.

Попробуйте изменить положение contact-container на относительное.

Комментарии:

1. Это имеет смысл. Нужно ли мне также добавлять позицию к родительскому элементу contact-container (contact-page)?

2. Я добавил позицию, и ошибка все еще возникает.

3. Возможно, добавление свойств минимальной высоты где-нибудь могло бы обойти это?

4. Первым делом измените положение вашего .logo-контейнера на относительное, чтобы ваша форма не перекрывала ваше абсолютное содержимое. В качестве альтернативы вы можете добавить такое же количество отступов в .contact-container .

5. #particles-js { min-height: 80rem; } .contact-page { min-height: 80rem; Это устранило проблему, но это не сработало бы без изменения некоторых абсолютных значений на относительные. Спасибо за вашу помощь