iPhone 上的 Safari 不允许在字段中输入文本

Posted

技术标签:

【中文标题】iPhone 上的 Safari 不允许在字段中输入文本【英文标题】:Safari on iPhone does not allow text input into fields 【发布时间】:2018-11-26 18:35:56 【问题描述】:

我阅读了几个地方,它是一个 CSS 问题,但我不知道如何解决它。

当用户在网站中输入信息时,它不会显示任何文本,但光标会像输入文本一样移动。

CSS 文件

*:focus,
*:hover,
*:active 
    outline: none;


html 
    overflow-x: hidden;


body 
    margin: 0;
    color: #6a6f8c;
    background: #fafafa;
    font: 600 16px/18px 'Open Sans', sans-serif;
    height: auto;


*,
:after,
:before 
    -webkit-box-sizing: border-box;
    box-sizing: border-box


.clearfix:after,
.clearfix:before 
    content: '';
    display: table


.clearfix:after 
    clear: both;
    display: block


a 
    color: inherit;
    text-decoration: none


.login-wrap 
    width: 100%;
    margin: auto;
    max-width: 525px;
    min-height: 1070px;
    position: relative;
    background: url(https://raw.githubusercontent.com/khadkamhn/day-01-login-form/master/img/bg.jpg) no-repeat center;
    -webkit-box-shadow: 0 12px 15px 0 rgba(0, 0, 0, .24), 0 17px 50px 0 rgba(0, 0, 0, .19);
    box-shadow: 0 12px 15px 0 rgba(0, 0, 0, .24), 0 17px 50px 0 rgba(0, 0, 0, .19);
    background-size: cover;


.login-html 
    width: 100%;
    height: 100%;
    position: absolute;
    padding: 90px 70px 50px 70px;
    background: rgba(40, 57, 101, .9);


.login-html .sign-in-htm,
.login-html .sign-up-htm 
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: all .4s linear;
    transition: all .4s linear;


.login-html .sign-in,
.login-html .sign-up,
.login-form .group .check 
    display: none;


.login-html .tab,
.login-form .group .label,
.login-form .group .button 
    text-transform: uppercase;


.login-html .tab 
    font-size: 22px;
    margin-right: 15px;
    padding-bottom: 5px;
    margin: 0 15px 10px 0;
    display: inline-block;
    border-bottom: 2px solid transparent;


.login-html .sign-in:checked+.tab,
.login-html .sign-up:checked+.tab 
    color: #fff;
    border-color: #1161ee;


.login-form 
    min-height: 345px;
    position: relative;
    -webkit-perspective: 1000px;
    perspective: 1000px;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;


.login-form .group 
    margin-bottom: 15px;


.login-form .group .label,
.login-form .group .input,
.login-form .group .button 
    width: 100%;
    color: #fff;
    display: block;


.login-form .group .input,
.login-form .group .button 
    border: none;
    padding: 15px 20px;
    border-radius: 25px;
    background: rgba(255, 255, 255, .1);


.login-form .group input[data-type="password"] 
    text-security: circle;
    -webkit-text-security: circle;


.login-form .group .label 
    color: #aaa;
    font-size: 12px;


.login-form .group .button 
    background: #1161ee;


.login-form .group label .icon 
    width: 15px;
    height: 15px;
    border-radius: 2px;
    position: relative;
    display: inline-block;
    background: rgba(255, 255, 255, .1);


.login-form .group label .icon:before,
.login-form .group label .icon:after 
    content: '';
    width: 10px;
    height: 2px;
    background: #fff;
    position: absolute;
    -webkit-transition: all .2s ease-in-out 0s;
    transition: all .2s ease-in-out 0s;


.login-form .group label .icon:before 
    left: 3px;
    width: 5px;
    bottom: 6px;
    -webkit-transform: scale(0) rotate(0);
    transform: scale(0) rotate(0);


.login-form .group label .icon:after 
    top: 6px;
    right: 0;
    -webkit-transform: scale(0) rotate(0);
    transform: scale(0) rotate(0);


.login-form .group .check:checked+label 
    color: #fff;


.login-form .group .check:checked+label .icon 
    background: #1161ee;


.login-form .group .check:checked+label .icon:before 
    -webkit-transform: scale(1) rotate(45deg);
    transform: scale(1) rotate(45deg);


.login-form .group .check:checked+label .icon:after 
    -webkit-transform: scale(1) rotate(-45deg);
    transform: scale(1) rotate(-45deg);


.login-html .sign-in:checked+.tab+.sign-up+.tab+.login-form .sign-in-htm 
    -webkit-transform: rotate(0);
    transform: rotate(0);


.login-html .sign-up:checked+.tab+.login-form .sign-up-htm 
    -webkit-transform: rotate(0);
    transform: rotate(0);


.hr 
    height: 2px;
    margin: 60px 0 50px 0;
    background: rgba(255, 255, 255, .2);


.foot-lnk 
    text-align: center;


.fullwidth 
    width: 100%;


.fulheight 
    height: 100%;


.main 
    background: #fafafa;
    padding: 15px;


.btn__grp button:last-child 
    margin-right: 15px;


.blank_input_hack 
    height: 0;
    width: 0;
    opacity: 0;


.input option 
    color: black;


#promoForm 
    max-width: 600px;
    margin: 0 auto;



/*.tooltip.ng-scope.ng-isolate-scope.top.fade.in
    word-break: break-word;
*/

.color-box>div 
    display: inline-block;
    margin-bottom: 15px;


.color-box>div:not(:last-child) 
    margin-right: 3px;


.color-box>div label 
    margin: 0;
    padding: 3px;
    border: solid 1px #979797;


.btn.pull-right 
    margin-right: 10px;


#user 
    text-transform: lowercase;


input,
textarea 
    -webkit-user-select: text;
    -khtml-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;


table tr th 
    background: #337ab7;
    color: white;
    text-align: left;
    vertical-align: center;

网站是https://braindrain.developmentserver.me

【问题讨论】:

【参考方案1】:

我想我已经找到了解决方案。如果您不知道这一点,这是一个很好的提示,您可以通过 USB 将您的 iPhone 插入 Mac 并远程使用网络检查器。我发现你在用户名输入表单之前有一个 div 类blank_input_hack。一旦我删除了这个,那么输入就可以完美地工作,风格和所有。不知道为什么首先会出现这种情况,但是你去吧!希望这会有所帮助!

【讨论】:

谢谢!我不知道我们能做到这一点。我想知道那个 div 到底做了什么。

以上是关于iPhone 上的 Safari 不允许在字段中输入文本的主要内容,如果未能解决你的问题,请参考以下文章

教你玩转 iPhone 上的 Safari 之 进阶篇

字体在 Safari 中的 iPhone 上不显示

在 Safari iPhone 上的新标签页中打开链接

5 招玩转 iPhone 上的 Safari | 基础篇

有没有办法避免提示用户允许在 Safari(iPhone/iPad)中的每次加载时共享位置?

iOS Safari(移动)和 Angular Material UI:专注于输入字段时不需要的闪烁文本