3

我在移动 safari iOS6 上有一个错误,只有在方向改变时布局向左移动 - 从纵向到横向再返回。

仅当占位符属性中有内容时才会存在该错误,如果您删除占位符属性的内容,则方向更改不会出现错误。我在http://beta.9eggs.com/ios6.html设置了一个演示,您可以在其中切换输入占位符的内容并添加删除错误。

我已经看到解决布局问题的解决方案,但想了解占位符导致问题的原因并修复它 - 而不是包含布局。

4

2 回答 2

13

尝试设置overflow: hidden;input父元素,它对我有用。

于 2013-01-03T18:35:09.130 回答
2

这个相关问题使我找到了适合我的解决方案。它归结为这个通用的kludge:

if ( /iPhone/.test(navigator.userAgent) &&
     !/Opera Mini/.test(navigator.userAgent) )
{
  window.addEventListener("orientationchange", function(e){
    /*
      // Method A:
      var s = document.documentElement.style;
      s.display = 'none';
      setTimeout(function(){ s.display = 'block'; }, 0);
    */
      // Method B:
      var d = document.documentElement;
      setTimeout(function(d){ d.className = d.className; }, 0);
    });
}

希望这可以帮助。

于 2012-11-05T15:57:01.830 回答