Ответ 1
Да, в CSS2.1 указано следующее для таблиц с разделенная модель границ:
Однако в HTML и XHTML1 ширина таблицы <table> Элемент - это расстояние от левого края границы до правого края границы.
Примечание: В CSS3 это своеобразное требование будет определяться с помощью правил таблицы стилей UA и свойства 'box-sizing'.
В текущем определении CSS3 box-sizing
ничего не говорится об этом, но перевод приведенной цитаты в основном означает в (X) HTML, таблицы используют модель пограничного блока: заполнение и границы не добавляют к указанной ширине таблицы.
Обратите внимание, что в терминах свойства box-sizing
разные браузеры, по-видимому, обрабатывают этот особый случай по-разному:
-
Chrome
box-sizing
устанавливается на начальное значение,content-box
; его изменение не имеет никакого эффекта. Также не обновляетсяbox-sizing: content-box
внутри встроенных стилей, но это следует ожидать. В любом случае Chrome, как представляется, вынуждает таблицу всегда использовать модель пограничного поля. -
IE
box-sizing
установлен наborder-box
; изменение его наcontent-box
заставляет его вести себя как второйdiv
. -
Firefox
-moz-box-sizing
установлен наborder-box
; изменение его наcontent-box
илиpadding-box
вызывает его изменение соответственно.
Так как CSS3 еще не упоминает размер таблицы, это не должно удивлять. По крайней мере, результат один и тот же - это только основная реализация, которая отличается. Но, учитывая сказанное выше, я бы сказал, что IE и Firefox ближе к намеченному определению CSS3, поскольку в Chrome вы не можете изменить модель таблицы с использованием свойства box-sizing
.
Таблицы с схемой разворачивания границ не имеют отступов вообще, хотя в этом случае это не имеет значения, так как ваша таблица не использует эту модель:
Обратите внимание, что в этой модели ширина таблицы включает половину границы таблицы. Кроме того, в этой модели таблица не имеет отступов (но имеет поля).