【问题标题】:Overlapping div's when using textarea on mobile在移动设备上使用 textarea 时重叠 div
【发布时间】:2021-02-11 00:18:47
【问题描述】:

在下面的图片中,我认为问题是不言自明的。在尝试输入文本之前,内容可以完美运行。任何有关导致此问题的建议将不胜感激。抱歉图片太大了。为了便于阅读,我删除了一些 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;
}

【问题讨论】:

    标签: css mobile layout overflow


    【解决方案1】:

    这与您对position: absolute; 的使用有关。你为什么在你的大部分容器元素上使用它?

    【讨论】:

    • 我认为可能是这种情况,但如果这是真正的问题,我不知道。由于 js-particle 层,我使用的是 absolute。您可以在此处查看该网站,它目前仅在开发中运行,如果不使用电话127.0.0.1:3000/contact.html,您将无法看到此错误
    • @DecisiveDevelopment 不幸的是,您已经在本地服务器上设置了开发环境。我无法查看您的本地服务器。您可以将您的代码放在jsfiddle 上并在此处分享链接。这样我更容易查看。
    • 对不起,我发布了错误的链接。 decisive-development.com/contact.html
    【解决方案2】:

    我在这里看到的一个问题是接触容器 css,您将高度设置为 100% 并将内容设置为中心。因此,当您的键盘在您的视口上时,您的视口会变小,并且包括表单和 h1 在内的所有内容都试图保持居中。

    您的联系人容器是绝对位置,因此它将是 HTML 标记的绝对位置,而表单将尝试相对于 HTML,而不是联系人容器包含。

    尝试将联系人容器位置更改为相对位置。

    【讨论】:

    • 确实有道理。我还需要向联系人容器(联系人页面)的父级添加职位吗?
    • 我已经添加了位置,但仍然出现错误。
    • 也许在某处添加 min-height 属性可以解决这个问题?
    • 首先将您的 .logo-container 位置更改为相对位置,这样您的表单就不会与您的绝对内容重叠。或者,您可以向 .contact-container 添加相同数量的填充。
    • #particles-js { 最小高度:80rem; } .contact-page { 最小高度:80rem;这已经解决了这个问题,但是如果不将一些绝对值更改为相对值,它就不会起作用。感谢您的帮助
    猜你喜欢
    • 2017-03-18
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 2013-05-31
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    相关资源
    最近更新 更多