Почему бы не использовать PT как единицу для шрифтов и размера элемента?
Я занимаюсь разработкой кроссплатформенного мобильного приложения с использованием jQueryMobile и PhoneGap. Первая платформа, на которую я нацеливаюсь, - это Android.
Для приложения Android разработчикам рекомендуется использовать dp в качестве единицы измерения размера шрифта. DP обозначает независимые от плотности пиксели. Использование этого означает, что ваши шрифты имеют одинаковый физический размер (в дюймах, сантиметрах или что-либо еще) на экране, независимо от плотности экрана.
Замечательно. Теперь я задаюсь вопросом: если я укажу все в dp, как этого хотел бы Android, будут ли другие браузерные платформы поддерживать это устройство? Я предполагаю, что нет.
Это заставляет меня задуматься, что не так со старыми способами (или обходными путями) установки шрифта в физически абсолютный размер:
1. PT: один пункт составляет 1/72 дюйма.
Так что это физически абсолютный размер, верно? Это звучит слишком хорошо, чтобы быть правдой. Если это надежно и поддерживается на всех браузерах и устройствах, зачем делать что-то еще?
2. EM: один em определяется как размер шрифта для документа.
Таким образом, с PT размер является абсолютным с самого начала. Используя em в качестве единицы размера шрифта, мне нужно было бы только установить размер шрифта для документа таким образом, чтобы сделать его правильным для экрана (для этого я мог бы использовать Javascript). И если все остальное указано в em, я бы закончил. Правильно?
3. jQueryMobile * Тем временем я использую медиазапросы CSS для определения ширины экрана, высоты и плотности и использую их для установки базового размера шрифта для элемента. После этого все размеры шрифта указаны в em. Во многих публикациях предполагается, что em следует использовать только для шрифтов, но если ваше приложение / сайт полностью посвящено тексту, разве не имеет смысла для всех элементов, содержащих текст, устанавливать размеры в em?
4. Или...
Поддерживается ли dp также в настольных браузерах и в iOS? РЕДАКТИРОВАТЬ: Нет, это не так.
Спасибо за любую мудрость.
1 ответ
Я не очень знаком с PhoneGap, но, насколько я понимаю, это то, что это фреймворк, который запускает html/css/js, который вы пишете во встроенном браузере на телефоне (webview). Таким образом, он позволяет создавать приложение html5, которое запускается так, что оно выглядит как собственное приложение для Android.
Модуль dp - это то, что доступно только для нативных приложений, использующих нативные элементы управления Android, поэтому к нему нельзя получить доступ с веб-страниц или веб-приложений.
Поскольку вы пишете приложение для HTML5, вам следует придерживаться веб-технологии для определения всех ваших размеров и использования медиазапросов для определения плотности экрана и адаптации размеров к ним, что кажется вам подходящим способом.