2017-09-05 61 views
0

我遇到了响应式设计问题。由于它是移动优化的,我包含了一个视口元标记,它应该确保页面在没有任何缩放的情况下加载并占用完整的视口。然而,这里是发生了什么:页面在移动浏览器中放大并且不是全视口宽度

(Screenshot) When loaded

(Screenshot) When zooming out

作为参考,下方的工具栏菜单的位置是:固定的,因此不包括在正常的页面流,使其成为“正常”宽度。 这发生在Chrome和Firefox移动设备上,所以我认为它不依赖于浏览器。 Chrome远程设备调试会话显示标题与<主体>和<html>元素完全一样宽,所以问题出在页面本身而不是单独使用标题。

这里是我的代码(菜单简明,删除):

<!DOCTYPE html> 
<html> 
    <head> 
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 
    <meta charset="UTF-8"> 
    <link rel="stylesheet" type="text/css" href="styles.css"> 
    </head> 

    <body> 
    <div id="header"> 
     <h1>TremeClothing</h1> 
     <form id="search" action="page.php?stuff=things"> 
     <input type="text" name="search" autocomplete="off" spellcheck="false" /> 
     </form> 
    </div> 
    </body> 
</html> 

和:

body { 
    margin: 0; 
    padding: 0; 
    background-color: rgb(240, 240, 240); 
    font-size: 20pt; 
} 

#header { 
    width: 100%; 
    padding: 0.5rem 1rem 1rem 1rem; 
    background-color: rgb(0, 51, 51); 
    position: relative; 
    box-sizing: border-box; 
    text-align: center; 
} 

#header h1 { 
    display: inline; 
    margin: 0; 
    padding: 0; 
    color: rgb(102, 153, 153); 
    font-size: 3rem; 
} 

#search { 
    display: inline-block; 
    height: 3rem; 
    width: 16rem; 
    margin: 1rem 3rem 0 3rem; 
} 

#search input { 
    display: block; 
    height: 100%; 
    width: 100%; 
    padding: 0.5rem 0.5rem 0.5rem 3rem; 
    box-sizing: border-box; 
    background: rgb(102, 153, 153) no-repeat 0.5rem 0.5rem/2rem url(img/icons/search.svg); 
    color: rgb(0, 51, 51); 
    font-size: 1.5rem; 
    font-weight: bold; 
    border: none; 
    border-radius: 2rem; 
} 

#search input:focus { 
    outline: none; 
} 

回答

0

你的页面缩放正确。

搜索栏已经开始滑落的页面的原因是因为你的#search有一个固定的宽度,16rem,其中,增加的3rem两边的固定利润,就出来比你的手机屏幕稍宽。尝试使用此为您#search风格:

display: inline-block; 
height: 3rem; 
width: 80%; 
max-width: 16rem; 
margin: 1rem 10% 0 10%; 

这将确保您的#search的宽度是液体,并在屏幕的宽度从不超过100%。

相关问题