Почему бы не использовать PT в качестве единицы измерения шрифтов и размеров элементов?

Я разрабатываю кроссплатформенное мобильное приложение, используя jQueryMobile и PhoneGap. Первая платформа, на которую я ориентируюсь, — это Android.

Для приложений Android разработчикам рекомендуется использовать dp в качестве единицы измерения размера шрифта. DP означает независимые от плотности пиксели. Его использование означает, что ваши шрифты получают одинаковый физический размер (в дюймах, сантиметрах и т. д.) на экране, независимо от плотности экрана.

Замечательно. Теперь интересно: если я укажу все в dp, как хотел бы Android, будут ли другие браузерные платформы поддерживать этот блок? Я предполагаю, что нет.

Это заставляет меня задаться вопросом, что не так со старыми способами (или обходными путями) установки шрифта на физически абсолютный размер:

<сильный>1. PT: одна pt равна 1/72 дюйма.

Так что это физически абсолютный размер, верно? Это звучит слишком хорошо, чтобы быть правдой. Если это надежно и поддерживается во всех браузерах и устройствах, зачем делать что-то еще?

<сильный>2. EM: один em определяется как размер шрифта документа.

Таким образом, с PT размер является абсолютным с самого начала. Используя em в качестве единицы размера шрифта, мне нужно было бы только установить размер шрифта для документа таким образом, чтобы он подходил для экрана (я мог бы использовать для этого Javascript). И если все остальное указано в em, мне конец. Верно?

<сильный>3. jQueryMobile* Тем временем я использую медиа-запросы CSS для определения ширины, высоты и плотности экрана и использую их для установки базового размера шрифта для элемента. После этого все размеры шрифта в em. Во многих сообщениях предлагается использовать em только для шрифтов, но если ваше приложение/сайт полностью посвящено тексту, не имеет ли смысла для всех элементов, содержащих текст, задавать размеры в em?

<сильный>4. Или...

Поддерживается ли dp также «настольными» браузерами и iOS? РЕДАКТИРОВАТЬ: Нет, это не так.

Спасибо за любую мудрость.


person Wytze    schedule 15.02.2012    source источник
comment
Я не уверен, что ваше первое утверждение верно. Я считаю, что Ems будет масштабироваться в своем контейнере. Вот почему они предпочтительны. Хотя может быть и больше.   -  person dgo    schedule 21.03.2013


Ответы (1)


Я не очень хорошо знаком с PhoneGap, но я понимаю, что это фреймворк, который запускает html/css/js, который вы пишете во встроенном браузере на телефоне (веб-просмотр). Таким образом, он позволяет вам создать приложение html5, которое запускается так, чтобы оно выглядело как родное приложение для Android.

Модуль dp доступен только для собственных приложений, использующих собственные элементы управления Android, поэтому к нему нельзя получить доступ с веб-страниц или веб-приложений.

Поскольку вы пишете приложение HTML5, вы должны придерживаться веб-технологий для указания всех ваших размеров и использования медиа-запросов для определения плотности экрана и адаптации размеров к тому, что вам подходит.

person nibarius    schedule 28.03.2014