Десятичные знаки в процентах CSS
хорошо, я искал повсюду и не нашел ничего, кроме анекдотических доказательств, чтобы предположить, что есть не рекомендуется стандартное поведение в спецификации CSS для точности чисел с плавающей запятой.
Б. Н. Я не спрашиваю о хорошо известная проблема округления субпикселей.
причина, по которой я спрашиваю, заключается в том, что IE, похоже, округляет процентные значения с плавающей запятой до 2 десятичных места, тогда как Webkit и Gecko позволяют по крайней мере 3 или даже больше (я не тестировал).
например:
li {
width: 14.768%;
}
при проверке в веб-инспекторе Chrome или Firebug,s имеет ширину 14.768%. Однако в IE dev tools (режим IE9/8/7) они имеют ширину 14.76%. Это приводит к тому, что фактические значения на основе пикселей также полностью отсутствуют.
может кто-нибудь пролить свет на это поведение, или предоставить соответствующую обходной путь? Я бы предпочел не прибегать к значениям на основе пикселей, если это возможно, поскольку содержимое должно быть жидкой шириной.
Я знаю, что это довольно грубо, имея дело с таким количеством десятичных знаков, но мне было бы очень интересно узнать, какой из этих браузеров "правильный"?
редактировать
Firefox кажется чтобы использовать правильные процентные значения, показанные в инспекторе (не округленные до 2 знаков после запятой), но отображающие то же самое поведения, т. е. с точки зрения фактического размещения пикселей.
1 ответов
вероятно, есть много решений для вашей проблемы, я бы предложил следующее:
- раунд на 2 десятичные самостоятельно для всех, кроме одного, чем уменьшить от общая ширина для последнего.
- использовать
table
илиdisplay: table
, чем браузер сам исправит ширину.