Min <p> forsvinder!

Tags:    html css

Hejsa

Jeg har en side i PHP, som "outputter" noget text fra en database. Som udgangspunkt bliver denne tekst sat i <p> til at starte med, og </p> til at slutte med. Hermed formatteres texten korrekt, set i forhold til det stylesheet jeg henviser til. Alt ok så langt.

Problemet opstår, når jeg f.eks. sætter en <h3> ind i min tekst i databasen for at formattere en overskrift. Når denne igen afsluttes med </h3>, så er min <p> formattering efterfølgende helt forkert!

Hvorfor sker dette?

Mvh
Gunnar



Det er sikkert fordi <p> ikke må indeholde <h3>
http://www.html.dk/dokumentation/html4/tags/p/

EDIT:
Du kan evt. prøve, at sende det som du får fra databasen igennem dette: (det er ikke testet)
Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 05.06.2006 14:57 af Bruger #1739
Det er sikkert fordi <p> ikke må indeholde <h3>
http://www.html.dk/dokumentation/html4/tags/p/


Ja det er semantisk forkert at putte en overskrift <hX> ind i et afsnit <p>... brug et <div class="P-formatering"> tag i stedet



Ok - tak... det forklarer måske også hvorfor at en bullet list formattering gør det samme?

Mvh
Gunnar



Problemet er formentlig, at din angivne p-styling har en mindre specificitet end en default h3-styling. Hvis man fx ændrede "p{attribute:value;}" til "p, p h3{attribute:value;}" ville problemet muligvis blive løst (evt. skal den blot hedde "p h3{attribute:value;}"). Men det er dog, som det allerede er blevet påpeget, semantisk dybt forkert at putte heading-elementer ind i et p-element, så Jokkes forslag er fx en langt bedre løsning. Til gengæld er der dog intet i vejen med at putte et heading-element ind i et list-element!



t