2012-01-31 12 views
62

Может ли CSS px быть долей? Разрешено ли это стандартами? И если да, поддерживают ли основные браузеры?Может ли пиксель CSS быть дробным?

Вернемся к ответам с документацией, люди.

+0

@MetalFrog этот вопрос возникает из обсуждения на работе :-) –

+3

По иронии судьбы, мне недавно пришлось использовать дробный пиксель, чтобы правильно сортировать сетку jQuery UI. Когда маржа на заполнителе была такой же, как или на один пиксель, меньше маржи на окружающих элементах, сетка будет перемещаться по всему месту при перетаскивании. Единственное исправление (и кросс-браузерное на этом!) Заключалось в том, чтобы уменьшить запас заполнителя на 0,5px. Тогда все сработало нормально. Независимо от того, является ли это спецификацией или нет, это в основном педантично, вы должны делать то, что вам нужно делать в конце дня. –

+0

Существуют ли правила о том, как строка с размером меньше 1px должна быть предоставлена ​​броузером? У меня много страниц (документы Word конвертированы в HTML), где границы таблицы имеют ширину, соответствующую доле пикселя. Они отображаются как 1px в IE и firefox, но граница вообще не видна внутри chrome. – Andy

ответ

49

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

Ссылка: CSS 2.1: 4.3.2 Lengths

«Формат значения длины (обозначаемой < длины > в этом спецификации) является < номер > (с или без десятичной точки) сразу после блока идентификатор (например, px, em и т. д.) ».

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

+0

Есть ли у вас документация, которая поддерживает ответ? –

+1

@ KeesC.Bakker: Я просто добавил это. :) – Guffa

+2

Проблема в том, что разные браузеры по-разному: http://stackoverflow.com/a/5587820/405015 – thirtydot