Lista elementów HTML5, które można zagnieżdżać w elemencie P?

95

Próbuję obliczyć wszystkie prawidłowe elementy HTML5, które mogą być zagnieżdżone w elementach akapitu, tak aby walidator w3 nie wyświetlał żadnych błędów. Chodzi mi o to, że próbuję obliczyć wszystkie tagi, które mogą zastąpić kropki w poniższym kodzie, tak aby walidator w3 nie wyświetlał żadnych błędów:

<p>...</p>

Czy jest taka lista? Próbowałem wyszukiwać w Google bez powodzenia.

Nawet jeśli jest dostępna lista odwrotna, czyli elementy, których nie można zagnieżdżać w elementach akapitu, to jest dla mnie wystarczająco dobra.

Lone Learner
źródło
możliwy duplikat: stackoverflow.com/questions/4967976/… (nieoflagowane): każda przyzwoita odpowiedź na to odpowie, jak czytać specyfikację HTML, a zatem również na to odpowie.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Odpowiedzi:

137

Specyfikacja HTML5 mówi nam, że <p>model treści elementu frazuje treść . Treść wyrażeń jest określona przez specyfikację:

3.2.5.1.5 Treść fraz

Zawartość fraz to tekst dokumentu, a także elementy, które zaznaczają ten tekst na poziomie wewnątrz akapitu. Ciągi frazowania treści z akapitów.

  • a (jeśli zawiera tylko treść frazową)
  • abbr
  • area(jeśli jest potomkiem mapelementu)
  • audio
  • b
  • bdi
  • bdo
  • br
  • button
  • canvas
  • cite
  • code
  • command
  • datalist
  • del (jeśli zawiera tylko treść frazową)
  • dfn
  • em
  • embed
  • i
  • iframe
  • img
  • input
  • ins (jeśli zawiera tylko treść frazową)
  • kbd
  • keygen
  • label
  • map (jeśli zawiera tylko treść frazową)
  • mark
  • math
  • meter
  • noscript
  • object
  • output
  • progress
  • q
  • ruby
  • s
  • samp
  • script
  • select
  • small
  • span
  • strong
  • sub
  • sup
  • svg
  • textarea
  • time
  • u
  • var
  • video
  • wbr
  • tekst
  • Matt Ball
    źródło
    Dlaczego to sprawdza się poprawnie na stronie walidatora html5.validator.nu <p>Hello world<em>Test</em><img src="http://google.com/asd/cp" alt="Description"/></p>
    Gabriel Rodriguez
    @GabrielRodriguez Spodziewałbym się, że to się potwierdzi. Dlaczego spodziewasz się, że tak się nie stanie?
    Matt Ball
    ooops, przepraszam nieważne, ponieważ myślałem, że <img>nie ma go na liście, ale teraz widzę, że jest. Przepraszam.
    Gabriel Rodriguez
    2
    Powinienem zaznaczyć, że elementy podrzędne również powinny znajdować się na tej liście. Na przykład <option>element znajduje się pod <select>elementem, więc powinien być również legalny między <p>a</p>
    Sablefoste
    Podelementy nie powinny znajdować się na tej liście, ponieważ jest to lista tylko elementów dozwolonych w <p>elementach, a nie elementów, które są dozwolone w elementach, które są dozwolone w <p>elementach, ani elementów, które są dozwolone w elementach dozwolonych w elementach dozwolonych w ramach <p>elementy. Jeśli chcesz wiedzieć, co jest dozwolone z wymienionymi elementami, kliknij nazwę elementu; jest to link do definicji tego elementu, który zawiera listę dozwolonych w nim elementów.
    Heretic Monkey