5568 sujets

Sémantique web et HTML

Bonjour,
J'ai lu que <p> pouvait être parent de <figure>
J'ai donc ce code :

<p>Du texte, du texte et encore du texte.
    <figure>
      <img src="uneimage.png">
    </figure>
</p>


Mais sous Firefox ça me donne ceci :

<p>Du texte, du texte et encore du texte.</p>
    <figure>
      <img src="uneimage.png">
    </figure>
<p></p>


Est-ce le comportement normal ou est-ce moi qui ai mal compris?
Merci pour vos éclaircissement.
Bonjour,
J'ai lu que <p> pouvait être parent de <figure>
J'ai donc ce code :
<p>Du texte, du texte et encore du texte.
    <figure>
      <img src="uneimage.png">
    </figure>
</p>

[EDIT]
Je n'ai rient trouvé de tel sur MDN. Comme le dit niuxe plus bas, <p> et l'élément de type block le plus bas dans la hiérarchie des éléments de type block, il ne peut contenir que des éléments de type inline. Et <figure> est un élément de type block. donc, pas de <figure> dans un <p> — et pas de <p> dans la <figure>, c'est très déplaisant Smiley smile
[/EDIT]

Pour associer du texte à une image, tu dois plutôt utiliser l'élément enfant de <figure>, <figcaption>, comme ceci :
<figure>
	<img src="image.jpg" alt="Une superbe photo">
	<figcaption>Une légende pour cette photo</figcaption>
</figure>

ou comme ceci :
<figure>
	<figcaption>Une légende pour cette photo</figcaption>
	<img src="image.jpg" alt="Une superbe photo">
</figure>

Modifié par thierry (06 Jul 2014 - 14:26)
Ca ne répond pas vraiment à ma question et au comportement d'une image imbriquée dans un <p> mais merci pour ta réponse.

L'option "légende" ne convenant pas, j'ai dissocier <p> et <figure> et mis le tout dans un <article>.
Modérateur
D'une manière générale l'élément p n'accepte pour enfant que des éléments de type inline. Or figure est de type block. Toujours valider l'html !

@thierry : +1

Mais attention, la présentation de ta réponse est mal formulée (citation de lodemars ). Peux tu stp rééditer ton message.
Modifié par niuxe (06 Jul 2014 - 12:25)