输入字段 iOS Safari 错误 - 无法输入任何文本

Input field iOS Safari bug — Can't type in any text

我在页面的表单中输入了自定义样式的文本。

它在桌面上按预期工作,Android、iOS Chrome,但有时在 iOS Safari 中,当在框中键入时,没有文本输入,即使该字段具有焦点并且光标在闪烁(不会经常发生,但对于某些用户来说似乎一直都在发生)。

表单代码非常标准,(直接从Mailchimp复制而来)

<form action="[mailchimp subscribe url]" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
                <div id="mc_embed_signup_scroll">
                    <input type="email" value="" placeholder="Email" name="EMAIL" class="email" id="mce-EMAIL" placeholder="email address" required>
                    <input type="submit" value="REQUEST INVITE" name="subscribe" id="mc-embedded-subscribe" class="button">
                    <div id="mc_embed_signup_scroll">
                    <div style="position: absolute; left: -5000px;"><input type="text" name="b_e563c0e6b5344e25de276c14f_5e5c7a08a6" tabindex="-1" value=""></div>
                </div>
            </form>

习惯CSS是:

input.email, .button {
    outline: none;
    border-radius: 3px;
    -webkit-appearance: none;
    appearance: none;
    width: 240px;
    padding: 12px 16px;
    background-color: rgba(255,255,255,0.1);
    margin: 0;
    vertical-align: middle;
    font-size: 12px;
    letter-spacing: 0.1em;
    font-family: 'Calibre Medium';
    color: white !important;
    opacity: 1;
    text-transform: uppercase;
    -webkit-font-smoothing: antialiased;
}


::placeholder, ::-webkit-input-placeholder, ::-moz-placeholder, :-ms-placeholder, input.email, .button {
    color: white !important;
    transition: all 0.15s;
    -webkit-transition: all 0.15s;
    -moz-transition: all 0.15s;
    -ms-transition: all 0.15s;
    -o-transition: all 0.15s;
}

有没有其他人以前看过这个?

我正在使用 flexbox 并且页面上有一个动画 SVG,我知道这有时会导致 iOS Safari 中的异常行为...

您的 div 标签应该是 display-block 并清除两者。

#mc_embed_signup_scroll { display:block; }

输入{ -webkit-user-select:text;}

这将解决问题。

浏览器特定的css 文本输入字段规则

input {
    -webkit-user-select: text; /* Chrome, Opera, Safari */
    -moz-user-select: text; /* Firefox 2+ */
    -ms-user-select: text; /* IE 10+ */
    user-select: text; /* Standard syntax */
}