Я испытываю то, что кажется ошибкой в визуализации WebKit ширины плавающих элементов, когда у них есть поля.Ошибка в процентах по размеру в процентах по WebKit: есть ли способы обхода?
Следующая оказывает, как можно было бы ожидать в Firefox (3.6) и WebKit (Chromium 5,0):
<div style="width: 100%; background-color: green;">
<div style="background-color: red; float: left; width: 50%;">n</div>
<div style="background-color: red; float: left; width: 50%;">n</div>
<div style="clear: both;"></div>
</div>
То есть, как полностью красной коробке, без зеленого фона показа.
Теперь попробуйте это:
<div style="width: 100%; background-color: green;">
<div style="background-color: red; float: left; width: 40%; margin-left: 10%;">n</div>
<div style="background-color: red; float: left; width: 50%;">n</div>
<div style="clear: both;"></div>
</div>
Что ожидается такая же, как, как и раньше, на 10% от коробки на левой стороне, чтобы быть оставлено зеленым исключением. Это то, что видно на Firefox.
Однако в браузерах WebKit один пиксель зеленого цвета остается в правой части окна: плавающие элементы больше не заполняют его полностью.
Проблема, кажется, сложная, когда используются больше поплавков и полей, в результате чего большая часть не регистрируется.
Это ошибка? Ошибка округления? Это, конечно, не то, что я ожидал. И что еще более важно, что я могу сделать, чтобы обойти это?
EDIT: После долгих поисков я обнаружил, что это сообщение об ошибке; вероятно, ошибка округления, как подозревалось: https://bugs.webkit.org/show_bug.cgi?id=5531
Мой самый важный вопрос по-прежнему стоит: есть ли какой-либо путь вокруг ошибки?
Мне удалось только с помощью jquery/javascript выполнить мою задачу. И это более коварно, что вы описываете, попробуйте div размером 100px с тремя плавающими div, которые составляют 33%, 33% и 34% соответственно.Затем сделайте div разных размеров и наблюдайте округление удовольствия. – Nilloc