#html
#HTML
Вопрос:
Элементы с прозрачной моделью содержимого определяются следующим образом:
Если элемент имеет прозрачную модель содержимого, то его содержимое должно быть структурировано таким образом, чтобы оно соответствовало действительному HTML 5, даже если прозрачный элемент был удален и заменен дочерними элементами.
Источник: https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#transparent_content_model
Имея это определение и зная разрешенные типы содержимого элементов, определенные спецификацией, можно ли с уверенностью сказать, что эти элементы могут быть классифицированы как «Прозрачный контент»?:
<a>
, <article>
, <aside>
, <audio>
, <b>
, <blockquote>
, <button>
, <canvas>
, <code>
, <del>
, <details>
, <div>
, <em>
, <fieldset>
, <figure>
, <footer>
, <form>
, <h1>
, <h2>
, <h3>
, <h4>
, <h5>
, <h6>
, <header>
, <i>
, <ins>
, <kbd>
, <label>
, <main>
, <mark>
, <meter>
, <nav>
, <p>
, <picture>
, <pre>
, <progress>
, <q>
, <s>
, <section>
, <small>
, <span>
, <strong>
, <sub>
, <sup>
, <textarea>
, <u>
, <video>
(Существует ли более авторитетный список? Я не смог найти ни одного, так как результаты поиска прозрачного контента быстро становятся связанными с CSS.)
Спецификация W3: https://www.w3.org/TR/2011/WD-html5-20110525/content-models.html#transparent-content-models
Спецификация WHATWG: https://html.spec.whatwg.org/dev/dom.html#прозрачный-контент-модели
Ответ №1:
Элементы с прозрачной моделью содержимого определяются следующим образом: …
Вы цитируете MDN, который является ссылкой, но не официальной спецификацией. Это вторичный источник, а это значит, что он полезен для понимания технических деталей, но на него нельзя полагаться при предоставлении фактических определений.
W3C передал полномочия над спецификацией HTML5 WHATWG в 2019 году, поэтому html.spec.whatwg.org является канонической спецификацией на момент написания статьи.
Спецификация включает в себя следующее для «моделей прозрачного содержимого»
Некоторые элементы описаны как прозрачные; у них есть «прозрачный» в описании их модели контента. Модель содержимого прозрачного элемента является производной от модели содержимого его родительского элемента: элементы, требуемые в части модели содержимого, которая является «прозрачной», являются теми же элементами, которые требуются в части модели содержимого родительского прозрачного элемента, в котором находится прозрачный элемент.
Итак, в связи с этим ваш вопрос о:
С [неправильным] определением и зная разрешенные типы содержимого элементов, определенные спецификацией, можно ли с уверенностью сказать, что эти элементы могут быть классифицированы как «Прозрачный контент»?
Нет. Спецификация указывает модель содержимого каждого элемента в соответствующем заголовке «Модель содержимого:» в разделе 4 («Элементы HTML»).
Хотя спецификация включает удобные списки различных типов контента в разделе «3.2.5.2 Виды контента», к сожалению, нет списка прозрачного контента.
Таким образом, чтобы определить, какие элементы имеют прозрачные модели содержимого, вам необходимо выполнить поиск по списку всех HTML-элементов.
Для вашего удобства ниже приведены элементы, которые в настоящее время имеют прозрачные модели контента: