Разрешенная вложенность элементов
Этот раздел описывает, каким образом в HTML 3.2. элементы могут быть вложены. Здесь не приводятся правила упорядочения или обеспечения повторной вложенности элементов. Здесь просто даются ответы на вопросы в форме: может ли элемент X появится в пределах элемента Y?
Та же самая информация представлена в описании отдельных тегов в частях Допустимый контекст и Содержимое. Здесь это представлено в сжатой форме и носит иллюстративный характер.
Заметки на память:
(Пояснения к списку)
- Текст со словами на верхнем регистре описывает элементы HTML.
- Слово, написанном на нижнем регистре - термин, описывающий сочетание HTML элементов.
- Элементы могут содержать внутри себя список других элементов, которые находятся в пределах этого элемента. Если нет такого списка, никакая вложенность элементов не разрешена. Исключение составляют элементы block и text. Для них допустимо такое содержание, как это описано в настоящем разделе.
- #PCDATA означает "символьные данные, используемые при грамматическом разборе" (содержит только escape последовательности, например, ä, теги HTML - не разрешены).
- body.content (body-содержание) означает: элементы, которые перечислены под элементом BODY.
HTML
- HEAD
- TITLE, SCRIPT, STYLE
- #PCDATA
- ISINDEX, BASE, META, LINK
- TITLE, SCRIPT, STYLE
- BODY
- H1, H2, H3, H4, H5, H6
- text
- block
- P
- text
- UL, OL, DIR, MENU
- LI
- text
- block
(в пределах DIR или MENU, элемент LI не содержит блок)
- LI
- DL
- DT
- text
- DD
- text
- block
- DT
- PRE
- text (без IMG, BIG, SMALL, SUB, SUP, FONT)
- DIV, CENTER, BLOCKQUOTE
- body.content
- FORM
- body.content без FORM
- ISINDEX
- HR
- TABLE
- CAPTION
- text
- TR
- TH, TD
- body.content
- TH, TD
- CAPTION
- P
- ADDRESS
- text
- P
- text
- text
- #PCDATA
- TT, I, B, U, STRIKE, BIG, SMALL, SUB, SUP
- text
- EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE
- text
- A
- text
- IMG
- APPLET
- text
- PARAM
- FONT
- text
- BASEFONT, BR
- SCRIPT
- #PCDATA
- MAP
- AREA
- INPUT
- SELECT
- OPTION
- #PCDATA
- OPTION
- TEXTAREA
- #PCDATA
- H1, H2, H3, H4, H5, H6
Чтобы упростить описания элементов, автор использует термин текстовый контейнер, чтобы обозначить любой элемент, который может непосредственно содержать текстовый элемент. Следующие элементы являются текстовыми контейнерами:
A, ADDRESS, APPLET, B, BIG, BLOCKQUOTE, BODY, CAPTION, CENTER, CITE, CODE, DFN, DIV, EM, FONT, FORM, H1, H2, H3, H4, H5, H6, HTML, I, KBD, LI, P, PRE (с ограничениями), SAMP, SMALL, STRIKE, STRONG, SUB, SUP, TD, TH, TT, U, VAR.
Нижеследующие элементы не являются текстовыми контейнерами, однако могут содержать текстовые элементы не непосредственно, а через элементы, которые являются текстовыми контейнерами:
DD, DIR, DL, DT, MENU, OL, TABLE, TR, UL.
Нижеследующие элементы совсем не включают текстовые элементы:
AREA, BASE, BASEFONT, BR, HEAD, HR, IMG, INPUT, ISINDEX, LINK, MAP, META, OPTION, PARAM, SCRIPT, SELECT, STYLE, TEXTAREA, TITLE.
Также автор вводит термин блоковый контейнер, чтобы обозначить любой элемент, который может непосредственно содержать блоковый элемент. Блоковыми контейнерами являются:
BLOCKQUOTE, BODY, CENTER, DD, DIV FORM HTML, LI (в пределах UL или OL), TD, TH.