5568 sujets

Sémantique web et HTML

Salut tout le monde,
Question simple mais je trouve pas la réponse sur google (mot clés pourraves)
Quand je veux valider en xhtml 1 transitional, il me sort plusieurs :
document type does not allow element "h4" here; missing one of "object", "applet", "map", "iframe", "button", "ins", "del" start-tag.

et la même erreur pour les div
Visiblement, c'est parce que ces balises sont dans un <p>. Pourtant, les <p> comme les <div> sont des éléments à plusieurs lignes !?!?
Comment je pourrais faire alors si c'est interdit d'inclure les div dans un paragraphe par exemple pour centrer un texte? (plus possibilité de faire un <div class="centered">) Smiley ohwell
Merci de vos réponses
un hx ne peut normalement pas être inclus dans un <p> parce que c'est un <p> spécial. (deux éléments block de même niveau).
De la même façon, un <p> ne peut pas contenir de <div>. Il peut contenir en revanche des spans, et c'est à ces spans que tu peux donner une classe qui centre le texte.

Maintenant, je ne vois pas la logique de faire un <div> pour centrer un texte à l'intérieur d'un paragraphe ? Normalement, c'est un paragraphe entier que tu centres. Quitte à faire des petits paragraphes, avec des marges top et bottom qui soient nulles
Salut,

Pour rappel, <p> est un élément particulier. C'est un élément de type bloc qui ne peut contenir que des éléments de type inline. C'est le "plus petit" élément bloc, en quelque sorte.

Pour centrer du texte, pourquoi ne pas appliquer ta classe "centered" directement sur la balise <p> ?
Modérateur
Hello,

A priori, si tu avais mis un h4 dans un p, c'est parce que tu considérais que c'était un titre donc j'en déduis que tu te sers de l'élément p à contre-emploi ; sans doute faudrait-il le remplacer par une div.