当输入集中在移动野生动物园时,页面底部不需要填充

时间:2015-11-17 12:57:15

标签: html ios css mobile safari

我正在使用移动safari上的textareas,当一个textarea被聚焦时,视口似乎在文档下面添加了填充。在检查和选择区域时,它不会解析为元素,甚至是html节点。

如果textarea在屏幕上的位置或者它是否绝对位置似乎并不重要,填充在聚焦时总是存在。有时你必须向下滚动才能看到它,但理想情况下,它根本不可能让它可见。

我在下面添加了一个屏幕截图和代码示例。有一个100%宽度和高度的封面,用于显示文档的常规边界,而textarea绝对位于正文的底部。

不聚焦: Unfocussed

聚焦(箭头指向不需要的填充): enter image description here

代码:

<html>
  <head>
    <meta name="viewport" content="user-scalable=no, width=device-width" />
    <style>
      html{
        background-color: gray;
      }

      body{
        width: 100%;
        margin: 0px;
      }

      #cover{
        position: absolute;
        top: 0px;
        left: 0px;
        width: 100%;
        height: 100%;
        display: block;
        background-color: green;
      }

      #textarea{
        position: absolute;
        bottom: 0px;
        left: 0px;
        width: 100%;
        height: 100px;
        display: block;
        margin: 0px;
        font-size: 18px;
      }
    </style>
  </head>
  <body>
    <div id="cover">Cover</div>
    <textarea id="textarea"></textarea>
  </body>
</html>

我很感激人们的见解。感谢。

4 个答案:

答案 0 :(得分:3)

我不认为这可以用CSS解决,它似乎是Safari chrome。

当我在实际设备(6+)上测试它时,底部的空间是白色的。我玩了一些:定位的焦点风格,发现我只是切断了容器。

#textarea:focus {
  border-bottom: 14px solid red;
  bottom: -6px; //shows 1px of border
  //bottom: -7px; //shows no border
}

你可以在这里玩。 http://codepen.io/ArleyM/pen/NGmbWW?editors=110

就解决方案而言,这是一个设计问题,我想知道是否有一种方法可以利用这个空白区域来获得优势。用户将专注于他们进入的内容,你可以使它看起来很好:)

答案 1 :(得分:2)

看起来像iPhone输入缩放功能导致填充......

在此处查看答案:Disable Auto Zoom in Input "Text" tag - Safari on iPhone

似乎将输入字段字体设置为16px会禁用此功能。

答案 2 :(得分:0)

我在another question上也遇到了同样的问题。

但是我也会在这里回答

body {
  min-height: 100vh;
  min-height: -webkit-fill-available;
}
html {
  height: -webkit-fill-available;
}

-webkit-fill-available;

使“魔术”

答案 3 :(得分:-3)

在你的css样式的顶部添加:

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
}

你应该总是在你的风格顶部重置