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