Почему <таблица> поле не выходит из строя со смежным <p>?

Вы читаете широту и долготу как 8 байтов каждый, спецификация у вас говорит 4. double с в Java и getDouble в ByteBuffer, это 8 байтов, вы хотите getFloat. ]

Это также повреждает данные после того, как вы читаете слишком далеко.

12
задан nalzok 8 October 2016 в 12:07
поделиться

4 ответа

Граничное сворачивание только определяется для элементов блока. Попробуйте это - добавляет display: block к стилям таблицы, и внезапно это работает (и изменяет дисплей таблицы...),

Таблицы являются особенными. В спецификациях CSS они - не совсем элементы блока - специальные правила относятся к размеру и положению, обоим из их детей (очевидно), и table сам элемент.

Соответствующие спецификации:

http://www.w3.org/TR/CSS21/box.html#collapsing-margins
http://www.w3.org/TR/CSS21/visuren.html#block-box

9
ответ дан 2 December 2019 в 21:24
поделиться

Я думаю, что это до различных реализаций браузера CSS. Я только что попробовал Ваш код, и Firefox3 не сворачивает вертикальное поле, но IE7 и Safari3.1.2 делают.

3
ответ дан 2 December 2019 в 21:24
поделиться

Я первоначально думал, что Firefox 3 не соблюдает эту часть спецификации CSS:

Несколько значений свойства 'дисплея' делают блочный уровень элемента: 'блок', 'элемент списка' и 'стычка' (часть времени; посмотрите поля стычки), и 'таблица'.

Я говорю это, потому что спецификация говорит неотступно следующие поля сворачивания...

Два или больше смежных вертикальных поля полей блока в нормальном коллапсе потока.

... и установка стиля таблицы к display: block делает граничный коллапс, как Вы ожидали бы и задержка его к display: table отменяет сворачивание снова.

Но смотря на него снова, спецификация также говорит это (шахта акцента):

Элементы блочного уровня (за исключением элементов 'таблицы' дисплея, которые описаны в более поздней главе) генерируют основное поле блока... Основные поля блока участвуют в контексте форматирования блока.

И затем, в разделе Block Formatting Context:

Вертикальные поля между смежными полями блока в блоке, форматирующем коллапс контекста.

Чтение, которое заставляет меня думать, что это корректно, который не должны сворачивать поля между таблицей (который не участвует в контексте форматирования блока) и абзацем (который делает).

2
ответ дан 2 December 2019 в 21:24
поделиться

Мое понимание - то, что вертикальные поля только выходят из строя между таблицей и подписью [1]. Иначе таблица должна вести себя как любой другой элемент блока [2] (т.е. 2 элемента оба с полями на 100 пкс = 200 пкс между ними).

  1. http://www.w3.org/TR/CSS2/tables.html#q5
  2. http://www.w3.org/TR/CSS2/box.html
-1
ответ дан 2 December 2019 в 21:24
поделиться