Я испытываю ошибку в рендеринге 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 один пиксель зеленого цвета остается с правой стороны поля: плавающие элементы больше не заполняют его полностью.
Проблема, по-видимому, усугубляется, когда используется больше поплавков и полей, в результате чего большее количество не сохраняется.
Это ошибка?Ошибка округления?Это, конечно, не то, что я ожидал.И что еще более важно, что я могу сделать, чтобы обойти это?
РЕДАКТИРОВАТЬ: После долгих поисков я обнаружил, что это сообщенная ошибка;Вероятно, ошибка округления, как подозревается: https://bugs.webkit.org/show_bug.cgi?id=5531
Мой самый важный вопрос все еще остается: есть ли способ обойти ошибку?