HTML, XHTML и CSS на сто процентов.
Необходимо корректно вкладывать элементы друг в друга. Это требование стандарта XHTML не отличается от требований HTML. Каждый элемент, вложенный в другой элемент, должен быть закрыт завершающим тегом, лежащим внутри содержащего его элемента. Например, в данном примере элемент для задания курсивного текста включает тег полужирного начертания: <i><b> …форматируемый текст… </b> </i> Этот пример корректен. Однако если мы напишем так: <i><b> …форматируемый текст… </i> </b> То нарушим требования HTML. Тем не менее эти и им подобные требования не всегда выполнялись разработчиками, и «добрые» браузеры обычно корректировали такие нарушения кода. Однако стандарт XHTML запрещает подобные нарушения. Кроме того, XHTML запрещает следующие вложения: • тег <form> не может содержать теги <form>; • тег <button> не может содержать теги <textarea>, <select>, <input>, <iframe>, <label>, <button>, <form>, <isindex>, <fildset>; • тег <a> не может содержать другой тег <a>; • тег <label> не может содержать другие теги <label>; • тег <pre> не может содержать теги <img>, <sup>, <object>, <small>, <sub>, <big>. При этом глубина вложения не имеет значения. Допустим, если в тег <a> вложены другие теги, они не могут включать в себя тег <a>. Браузер, строго поддерживающий XHTML, не сможет адекватно воспроизвести документы с такими нарушениями.