Ответ 1
Вы не можете исправить это так, как это делает Fx, но вы можете попробовать с другой стороны.
Почему у тебя пробелы? Из-за ошибок округления. Поэтому мы должны убедиться, что ошибок округления не будет. Как бы так получилось? Сначала мы разделим все пространство, которое у нас есть, а затем умножим внутренний элемент, поэтому мы получим ситуацию, когда ошибка округления возникает у родителя, и все дочерние элементы в этом контексте будут в порядке.
Существует определенный пример из bugzilla: http://jsfiddle.net/2tmjw/
Я добавил оболочку со следующими стилями:
#wrapper4wrapper {
position: absolute;
top: 10%;
left: 10%;
width: 8%;
height: 8%;
}
И изменили исходную оболочку на
#wrapper {
position: absolute;
top: 0;
left: 0;
width: 1000%;
height: 1000%;
}
Вы можете видеть это в действии при изменении размера окна или рамки скрипта. Вы можете заметить, что ширина обертки изменяется по шагам: там, где все ошибки округления идут.
Если вы хотите по-прежнему центрировать страницу, вы можете попробовать что-то вроде этого: http://jsfiddle.net/2tmjw/1/ - но с абсолютным позиционированием это несколько сложно расположите его идеально в центре. Но когда он не является абсолютным, и вам нужно поместить его по горизонтали, вы можете использовать display: inline-block
с text-align: center
или display: block
с помощью margin: auto
.
Кроме того, отношение родительского сокращения и расширения детей должно выбираться из того, из каких частей вы хотите разделить детей. Чем точнее вы хотите, тем меньше ширина будет у родителя, но шаги тоже будут расти.