неправильный стиль, если не применен цвет фона

#android #css #android-emulator #android-browser

#Android #css #android-эмулятор #android-браузер

Вопрос:

Я разрабатываю мобильный сайт, поэтому я использую CSS, чтобы сделать все как можно более гибким.

У меня возникла странная трудность. Внутри контейнера div у меня есть <p> , который должен заполнять ширину div. Я пробовал width:auto , width:100% … кажется, ничего не работает в браузере Android. Вот примеры:

iOS (правильно):

Правильная ориентация

Android (Неверно; не полностью распространяется; добавлено больше текста, чем в версии для iOS, чтобы вы могли видеть, о чем я говорю):

введите описание изображения здесь

Оба скриншота взяты из соответствующих эмуляторов.

Однако вот что странно… Если я присвою классу, применяемому к этим <p> , цвет фона, браузер Android затем позволяет <p> заполнить всю ширину своего родительского div (выглядит идентично iOS). Однако действительно странная часть заключается в том, что если я сделаю цвет фона прозрачным (я думал, что меня обманули, lol), то все вернется к тому, как показано в примере.

Итак, у меня есть <p> правильная ссылка на его CSS только в том случае, если к нему применен цвет фона… я что-то тупо упускаю из виду, или это какая-то проблема с браузером Android? Есть идеи, как это исправить?

Спасибо за ваше время.

Комментарии:

1. Не используйте <p> для этого, используйте <span> вместо этого < div>. <p> предназначен для абзацев, а встроенный браузер Android использует ширину абзацев для удобства чтения.

Ответ №1:

Хотя это может быть не лучшим решением, я, наконец, просто создал «невидимый» прозрачный png-файл и установил его в качестве <p> фона, и это устранило проблему… если это можно назвать исправлением. 🙂 Я должен предположить, что это какая-то ошибка в браузере Android, поскольку я пробовал это в каждом браузере, настольном и мобильном.

Комментарии:

1. После некоторых исследований и тестирования я также обнаружил, что это решение является лучшим «исправлением» на данный момент, каким бы уродливым оно ни было.

2. Я также обыскал Интернет по всей сети и не нашел другого надежного решения, которое не требовало бы слишком большого количества кодирования. Это, кажется, наименее хрупкое решение, так что спасибо!

Ответ №2:

Это предполагаемое поведение телефонов Android. Это улучшит читаемость копируемого текста, поскольку вам не придется прокручивать страницу вбок, если вы увеличите масштаб страницы.

Этим можно управлять на вашем собственном телефоне, возможно, в настройках браузера, но это не то решение, которое вам нужно.

Это может быть «исправлено» обходным путем применения фонового изображения к нужному элементу.

Это можно сделать с помощью URL-адреса данных в кодировке base64:

 background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
  

Ответ №3:

В настройках вашего мобильного браузера найдите что-то под названием «Автоматическая подгонка страниц» и отключите его. Этот параметр (в Android) включен по умолчанию. Отключите его, и ваш текст будет выглядеть так, как должен.

Комментарии:

1. Я не думаю, что просить каждого посетителя сайта настроить настройки своего браузера — это приемлемое решение.

Ответ №4:

div или любой элемент над этим

может быть проблема.

если вы задаете фиксированную ширину элементу p, хорошо ли это работает?

Комментарии:

1. Мне нужно, чтобы макет был жидким, поэтому я не могу работать с фиксированной шириной.