Неверная ширина в браузере веб-браузера Android

Я заметил проблему с браузером Android по умолчанию, где 100% -ная ширина действительно может пройти мимо края экрана. Здесь минимальный тестовый пример:

  <div class='separator' width=100% style='border: 2px;padding: 2px;border-style: solid;'>&nbsp;</div>
  <div class='separator' width=100% style='border: 2px;padding: 2px;border-style: solid;'>New & improved div</div>
  <div class='separator' width=100% style='border: 2px;padding: 2px;border-style: solid;'>another working one</div>
  <div class='separator' width=100% style='border: 2px;padding: 2px;border-style: solid;'>another</div>

Это работает так, как ожидалось, в браузере рабочего стола, но в браузере веб-браузера Android первый div уходит с экрана и не меняет ширину при масштабировании и выходе. Разделы после него работают правильно.

Обновление. Я тестировал это на 2.3, 3.0, 3.1 и недавно созданный эмулятор 2.2, все они не могут правильно его отсортировать. Похоже, что это заметили другие люди, см. здесь и здесь. Кто-нибудь знает хороший обходной путь для этой ошибки?

Ответ 1

В моем WebView я смог зафиксировать ширину, отключив широкоэкранный просмотр.

webview.getSettings().setUseWideViewPort(false);

Это отключает горизонтальную прокрутку, если это абсолютно необходимо, а div width и zoom работают как ожидалось. Очевидно, что это будет работать только с пользовательским WebView, возможно, существует более общий способ сделать это с помощью чего-то вроде meta name= "viewport"... > ?

Ответ 2

Просто добавьте этот метатег в свой тег html head.Ive проверил его с браузером Android 2.1, и он отлично работает при масштабировании.

<meta name="viewport" content="width=device-width" />

Ответ 3

использовать

layout_width="fillparent"

:)