HTML W3C Valid Elements - Действует ли DIV в TD?
У меня есть аргумент с коллегой, но я не могу найти доказательства, чтобы доказать, что кто-то из нас прав. Я видел список допустимых элементов для заданных тегов раньше, но просто не могу найти его снова. Может ли кто-нибудь указать мне в правильном направлении?
Мне интересно узнать о XHTML, но несогласие в особенности касается того, является ли тег DIV допустимым в теге TD в HTML 4.01.
Ответы
Ответ 1
Да. Согласно DTD HTML 4.01, элемент td
может содержать элементы уровня блока и/или элементы встроенного уровня.
Соответствующая строка DTD:
<!ELEMENT (TH|TD) - O (%flow;)* -- table header cell, table data cell-->
Эта строка в основном определяет элементы th
и td
и заявляет, что они могут содержать любую комбинацию (*
) блоков и встроенных элементов (%flow;
).
Дополнительная информация о td
: http://www.w3.org/TR/html401/struct/tables.html#edef-TD
Ответ 2
Да, div
в пределах td
отлично действует. Список в проекте спецификации HTML5 является полезной ссылкой для такого рода вопросов, но в основном, действительные дочерние элементы td
являются элементами потока, а div
является элементом потока.
Вышеуказанные ссылки относятся к HTML5, это путь вперед (он кодирует то, что уже есть в дикой природе, и приносит вещи вперед, все основные поставщики браузеров задействованы). Для HTML 4.01, TD reerence здесь, но я должен признать, что 4.01, что я, вероятно, сделаю, это спросить Валидатор W3C, который достаточно прочен для 4.01 (и еще не для HTML5). И валидатор говорит... да, просто отлично. Пример данных:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head><title>Hi</title></head>
<body>
<table><tbody><tr><td><div>x</div></td></tr></tbody></table>
</body>
</html>
Ответ 3
Да, вы можете поместить div в td. Я делаю это все время.