Способы, которыми теги HTML могут сочетаться, определяются терминами элементов и их классификацией. Гораздо удобнее определить, например, что элемент H1 может содержать только текстовые элементы, чем давать длинный список подходящих элементов, особенно, если учесть, что один и тот же список должен появляться во многих контекстах, и этот список может изменяться при добавлении новых текстовых элементов к будущим версиям HTML.
Элементы HTML можно классифицировать на три основные категории:
Любой текстовый элемент, включая простой текст, может при необходимости появиться везде - путем задания абзаца (параграфа) (P элемент).
Правило "большого пальца", которое может помочь в запоминании того, какой элемент - блоковый, а какой - текстовый: блоковые элементы завершают абзац, текстовые - нет.
Заметьтe: часто блоковые элементы могут содержать как текстовые, так и другие блоковые элементы, например, блоки могут быть вложенными. Текстовые элементы также могут быть вложенными. Но текстовые элементы не могут включать блоковые элементы. Например, выражение
<CITE><H3>Origin of Species</H3></CITE>
неверно (так как CITE - текстовый элемент, а H3 - блоковый элемент) и к тому же нелогично (Вы не можете придать заголовку, как структуре, значение цитаты, так ведь?). Тогда как запись
<H3><CITE>Origin of Species</CITE></H3>
была бы правильной, хотя отдельные броузеры воспринимают это с трудом. Еще одни пример: не заголовок (headings) вставляется в атрибут NAME тега A, а наоборот. Так же было бы неверно иметь завершение абзаца (тег P) в пределах, например, элемента STRONG. Хотя некоторые броузеры понимают это, семантика этого сомнительна, и Вы должны были бы использовать отдельные начальные и конечные теги STRONG в пределах каждого абзаца (если Вы действительно желаете выделить такие большие порции текста!).