Как указать размер изображения в css веб-просмотра с помощью dip? - PullRequest
8 голосов
/ 11 июля 2011

У меня есть WebView, отформатированный с помощью файла CSS - я динамически генерирую HTML из приложения для этого представления, так же, как это делает веб-сервер. Сгенерированный HTML ссылается на статический файл CSS для форматирования. У меня есть инструкция по форматированию изображения, например:

img {
    width: 20px;
    height: 20px;
}

Чтобы сделать это устройство независимым, я бы хотел использовать dip вместо px для измерений ширины и высоты. Я не могу понять (и не найти), как определить dip как единицу в определении CSS. Я пробовал «дп» и «провал», ни один из которых не работал. Можно ли это сделать?

Я знаю, что у меня может быть несколько версий CSS-файла, которые выбираются с помощью селектора типа <"target-densitydpi = high-dpi">, но это означает, что у меня будут дублированные CSS-файлы только для возможности размера изображения в зависимости от плотности устройства. Выполнимо, но я бы предпочел иметь возможность указать dip в файле CSS, и WebView сделает всю работу за меня.

Также выполнимо было бы создать встроенную таблицу стилей в заголовке HTML и преобразовать dip в px для конкретного устройства, но это затем приведет к связи между определением CSS и кодом генерации HTML. Возможно, лучше, чем несколько CSS-файлов (для моего приложения), но было бы гораздо приятнее просто установить dip в CSS-файле и покончить с этим.

(Мои изображения предназначены для изменения размеров без артефактов для диапазона плотностей экрана, которые поддерживаются в настоящее время)

Ответы [ 2 ]

2 голосов
/ 12 июля 2011

Какие юниты доступны в CSS, здесь:

http://www.w3.org/TR/css3-values/#lengths

Здесь нет dp или dip, поэтому я не уверен, как вы поняли, что такая единица существует.

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

Это теория.

Практика заключается в том, что вы, вероятно, хотите динамически генерировать CSS для поддержки такой функции.

1 голос
/ 24 ноября 2011

dp фактически находится в / 160, поэтому вы можете указать все размеры в единицах длины, например, в дюймах или миллиметрах.Конечно, с учетом пропорции.

Но, к сожалению, абсолютные размеры в css не соответствуют физическим измерениям, я только что проверил это.(

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...