2012-06-15 5 views
1

Я видел несколько проектов, в которых разработчики определили очень длинные значения в процентах. Мне интересно, в чем причина писать такие длинные ценности, почему бы не просто округлить? и как вы даже вычисляете/конвертируете такие значения?CSS: Почему вы определяете очень длинные значения%?

Например (взято из файла CSS):

.thumbnail { width: 68.08510638297872%; } 
table { font-size: 0.9166666666666667em; } 
+4

Возможно, этот CSS создан автоматически? – psur

+0

Те, что созданы IDE, насколько я знаю. Такие значения создаются, когда вы изменяете размер путем перетаскивания. – gout

+3

изменение ширины: 68.08510638297872% до ширины: 68.08510638297873% может сломать интернетz;) – Luca

ответ

2

Это смотрит на меня как эти цифры генерируются программно, а не людьми напрямую. Ни один шотландец не поступил бы так. Ну, нет true Scotsman :-)

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

3

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

3

В книге Responsive Web Design Этан Маркотт фактически выступает за то, чтобы оставить все числа после десятичной точки при вычислении ширины на основе процентов, чтобы обеспечить максимальную точность, даже когда разработчик самостоятельно вычисляет ширины с помощью калькулятора.

EDIT: Я только что выкопал мою копию книги, а вот рассуждения Маркотт в:

Теперь, вы могли бы попытаться обогнуть 0.45833333333333em до ближайшего здравомыслящего выглядящего номер, скажем, в 0.46em. Но не трогайте этот ключ! Это может сделать ваши глаза кровоточащими, чтобы выглядеть, но 0.458333333333333 отлично представляет наш желаемый размер шрифта пропорционально. Более того, браузеры отлично умеют округлять лишние десятичных разрядов, поскольку они внутренне преобразуют значения в пиксели. Таким образом, , давая им больше информации, не меньше, даст вам лучший результат в конце.

+0

Тем не менее, * 16 * десятичные цифры точности чрезмерны для макета CSS. – thirtydot

+0

Наверняка.В примерах RWD Ethan Marcotte есть только 14 десятичных цифр;) –

+0

Там не будет никакой разницы между 14 и, скажем, 5 десятичными цифрами. Я согласен с тем, что округление до двух десятичных цифр не является хорошей идеей. – thirtydot

2

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

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

Новый браузер, такой как Chrome или Firefox, масштабирует шрифт и элементы сразу, и эта проблема не будет выполняться, но более старые браузеры, такие как 6-7, не имеют этой функции и должны изучить ее с помощью em или процентов единиц.

Я надеюсь, что это поможет вам понять эту проблему

Смежные вопросы