Crys
Двинутый новичок
Достаточно просто посмотреть.именно. вы знаете, как создать трехколончатую верстку 30%-40%-30%, что бы блоки один на другой не наскакивали? А легко - w3c.org - достаточно один из блоков сократить на 2%. Работает во всех броузерах. Чем не шаманство? Где логика?
Три блока 30-40-30 (%)
Ужимаем окно браузера. Становится общая ширина 502px
У блоков ширина должна быть: 150.6-200.8-150.6 (px)
Но ведь известно, что пиксель неделим.
То есть получаем 151-201-151. То есть их ширина суммарно равна 503, а контейнер, в котором они находятся - с шириной 502

А вот в FF перескок не происходит. Потому что для последнего блока offset-left указан на один пиксель меньше. То есть он считает, что ширина двух первых блоков равна не 352, а 351.
Возможно(!), это связано с тем, что он высчитывает не из округленных чисел. 150.6-200.8 = 351.4 = 351
В итоге 351+151=502, что влазит в главный контейнер.
А в случае уменьшения одного блока на 2% достаточно трудно сделать ситуацию, когда блоки не влезут в главный контейнер.
В общем, никакого шаманство, никакой мистики.