输入字段显示Android Chrome上的奇怪行为

时间:2014-08-09 04:47:40

标签: android html css google-chrome

我有非常简单的标记,只有几个输入字段:

<!DOCTYPE html>                                                              
<html>                                                                       
    <head>                                                                   
            <title>Test</title>                                              
            <meta name="viewport" content="width=device-width, initial-scale=1" />
            <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
            <link href="css/style.css" media="(max-width: 60em)" rel="stylesheet" type="text/css"/>
    </head>                                                                  
    <body>                                                                   
            <div id="signup-home-div">                                       
                    <a href="home">Home</a>                                  
            </div>                                                           

            <div id="signup-form-div">                                       
                    <form id="signup-form" action="#">                       
                            <div id="signup-name-div">                       
                                    <div id="signup-name-label">Name</div>   
                                    <input type="text" id="signup-name" name="name"/>
                            </div>                                           

                            <div id="signup-email-div">                      
                                    <div id="signup-email-label">Email</div> 
                                    <input type="text" id="signup-email" name="email"/>
                            </div>                                           

                            <div id="signup-captcha-div">                    
                                    <div id="signup-captcha-label">          
                                            Enter the text in the image.     
                                    </div>                                   
                                    <img id="signup-captcha-img" alt="" src=""/>
                                    <input type="text" id="signup-captcha" name="captcha"/>
                            </div>                                           

                            <div id="signup-div">                            
                                    <button class='btn' id="signup" type="button">Sign Up!</button>
                                    <div id="signup-status"></div>           
                            </div>                                           
                    </form> 
            </div>                                                           

            <div id="signup-response-div">                                   
            </div>                                                           
    </body>                                                                  
</html> 

和相应的CSS:

html, body, ul, ol {                                                         
    margin : 0;                                                              
    padding : 0;                                                             
    border : 0;                                                              
}                                                                            
body {                                                                       
    width : 100%;                                                            
    box-sizing: border-box;                                                  
}                                                                            
body {                                                                       
    background : #06509b;                                                    
    font-family : "Open Sans", sans-serif;                                   
}                                                                            
.btn, .img-btn, .link {                                                      
    background-color : #06509b;                                              
    color : #f6f6f6;                                                         
    border : 1px solid #3a82cd;                                              
    height : 2em;                                                            
    line-height : 2;                                                         
}                                                                            
.img-btn {                                                                   
    background-color : #f6f6f6;                                              
    color : #06509b;                                                         
}                                                                            
.link {                                                                      
    text-decoration : none;                                                  
    padding : 0.5em;                                                         
}                                                                            
.btn:hover, .img-btn:hover, .link:hover, .btn:focus, .img-btn:focus, .link:focus {
    background-color : #3a82cd;                                              
}                                                                            

#signup-home-div {                                                           
    margin-top : 10%;                                                        
    margin-left : 70%;                                                       
}                                                                            
#signup-home-div a {                                                         
    color : #ef8f00;
    font-size : large;                                                       
    text-decoration : none;                                                  
}                                                                            
#signup-form-div {                                                           
    width : 70%;                                                             
    margin-top : 5%;                                                         
    margin-left : 15%;                                                       
    border : 1px solid #cccccc;                                              
    padding : 0.5em;                                                         
    padding-bottom : 0.25em;                                                 
    color : #f6f6f6;                                                         
    font-family : "Open Sans", sans-serif;                                   
    font-size : 100%;                                                        
}                                                                            
form {                                                                       
    width : 100%;                                                            
}                                                                            
#signup-name-div, #signup-email-div, #signup-pubname-div, #signup-div, #signup-captcha-div {
    width : 90%;                                                             
    margin-left : 5%;                                                        
    margin-bottom : 1em;                                                     
}                                                                            
#signup-name, #signup-email, #signup-pubname, #signup-captcha {              
    border : 1px solid #cccccc;                                              
    width : 100%;                                                            
    height : 2em;                                                            
    color : #666666;                                                         
}                                                                            
#signup-status {                                                             
    width : 100%;                                                            
    height : 1em;                                                            
    margin-top : 0.5em;                                                      
    text-align : center;                                                     
    font-style : italic;                                                     
    display : none;                                                          
}                                                                            
#signup {                                                                    
    width : 40%;
   margin-top : 0.5em;                                                      
    margin-left : 30%;                                                       
}                                                                            
#signup-response-div {                                                       
    width : 70%;                                                             
    margin-top : 10%;                                                        
    margin-left : 15%;                                                       
    border : 1px solid #cccccc;                                              
    padding : 1em;                                                           
    text-align : center;                                                     
    white-space : normal;                                                    
    display : none;                                                          
    color : #f6f6f6;                                                         
}                                                                            
#signup-captcha-img {                                                        
    width : 100%;                                                            
}                                                                            
#signup-name-label, #signup-email-label, #signup-pubname-label, #signup-captcha-label {
    margin-bottom : 0.5em;                                                   
} 

我在Chrome上测试了MotoG(4.4.4)。最初页面的外观和行为与预期一致。具体来说,我无法水平滚动。然而,当我点击任何输入字段时,弹出软键盘,此时整个布局似乎跳了起来。我尝试输入几个字母并关闭键盘。现在不知何故,页面获得了水平滚动的功能。关闭键盘后立即出现一个丑陋的故障,布局似乎重新绘制。在点击输入字段几次后,页面似乎冻结了。很烦人!我一直在努力思考,但无法弄清楚发生了什么。如果您想快速试用您的手机,该页面也可在以下位置找到:http://bugtest.everydayapps.in

编辑: 我很好,整个页面向上滚动,无论如何都无法避免AFAIK,但页面跳跃是不可接受的。

1 个答案:

答案 0 :(得分:0)

尝试在身体内的所有内容周围放置一个包装器

<body>
<div id="wrapper">
   all your content here
</div>
</body>

#wrapper
{
    position:absolute;
    top:0;
    left:0;
    right:0;
    display:block;
    width:100%;
    overflow:hidden;
}