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

时间:2015-09-29 18:37:11

标签: ios css forms input safari

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

它在桌面,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中导致异常行为......

3 个答案:

答案 0 :(得分:8)

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

这将解决问题。

答案 1 :(得分:2)

针对文本输入字段的浏览器特定的CSS规则

execl()

答案 2 :(得分:0)

你的div标签应该是display-block并清除。

#mc_embed_signup_scroll { display:block; }