我在移动 safari iOS6 上有一个错误,只有在方向改变时布局向左移动 - 从纵向到横向再返回。
仅当占位符属性中有内容时才会存在该错误,如果您删除占位符属性的内容,则方向更改不会出现错误。我在http://beta.9eggs.com/ios6.html设置了一个演示,您可以在其中切换输入占位符的内容并添加删除错误。
我已经看到解决布局问题的解决方案,但想了解占位符导致问题的原因并修复它 - 而不是包含布局。
我在移动 safari iOS6 上有一个错误,只有在方向改变时布局向左移动 - 从纵向到横向再返回。
仅当占位符属性中有内容时才会存在该错误,如果您删除占位符属性的内容,则方向更改不会出现错误。我在http://beta.9eggs.com/ios6.html设置了一个演示,您可以在其中切换输入占位符的内容并添加删除错误。
我已经看到解决布局问题的解决方案,但想了解占位符导致问题的原因并修复它 - 而不是包含布局。
尝试设置overflow: hidden;
的input
父元素,它对我有用。
这个相关问题使我找到了适合我的解决方案。它归结为这个通用的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);
});
}
希望这可以帮助。