Вы читаете широту и долготу как 8 байтов каждый, спецификация у вас говорит 4. double
с в Java и getDouble
в ByteBuffer
, это 8 байтов, вы хотите getFloat
. ]
Это также повреждает данные после того, как вы читаете слишком далеко.
Граничное сворачивание только определяется для элементов блока. Попробуйте это - добавляет display: block
к стилям таблицы, и внезапно это работает (и изменяет дисплей таблицы...),
Таблицы являются особенными. В спецификациях CSS они - не совсем элементы блока - специальные правила относятся к размеру и положению, обоим из их детей (очевидно), и table
сам элемент.
http://www.w3.org/TR/CSS21/box.html#collapsing-margins
http://www.w3.org/TR/CSS21/visuren.html#block-box
Я думаю, что это до различных реализаций браузера CSS. Я только что попробовал Ваш код, и Firefox3 не сворачивает вертикальное поле, но IE7 и Safari3.1.2 делают.
Я первоначально думал, что Firefox 3 не соблюдает эту часть спецификации CSS:
Несколько значений свойства 'дисплея' делают блочный уровень элемента: 'блок', 'элемент списка' и 'стычка' (часть времени; посмотрите поля стычки), и 'таблица'.
Я говорю это, потому что спецификация говорит неотступно следующие поля сворачивания...
Два или больше смежных вертикальных поля полей блока в нормальном коллапсе потока.
... и установка стиля таблицы к display: block
делает граничный коллапс, как Вы ожидали бы и задержка его к display: table
отменяет сворачивание снова.
Но смотря на него снова, спецификация также говорит это (шахта акцента):
Элементы блочного уровня (за исключением элементов 'таблицы' дисплея, которые описаны в более поздней главе) генерируют основное поле блока... Основные поля блока участвуют в контексте форматирования блока.
И затем, в разделе Block Formatting Context:
Вертикальные поля между смежными полями блока в блоке, форматирующем коллапс контекста.
Чтение, которое заставляет меня думать, что это корректно, который не должны сворачивать поля между таблицей (который не участвует в контексте форматирования блока) и абзацем (который делает).
Мое понимание - то, что вертикальные поля только выходят из строя между таблицей и подписью [1]. Иначе таблица должна вести себя как любой другой элемент блока [2] (т.е. 2 элемента оба с полями на 100 пкс = 200 пкс между ними).