Should a heading be inside or outside a <p>?
I have a div element and within that div, we have text between p elements.
I want to add a heading. Should it go inside or outside the p?
Which is better:
<p>This is text
<h3>This is my h3</h3>
More text
</p>
<p>another text<p>
or
<p>This is text<p>
<h3>This is my h3</h3>
<p>another text<p>
It is impossible to put a heading element inside a p
element in HTML markup, not just formally but because browsers implicitly terminate an open p
element when they encounter a heading. So the question is meaningless: an element that cannot exist in a certain context cannot have any meaning (semantics) within that context.
Instead of using p
to group text and headings together, you can use the div
element or, with the usual caveats, HTML5 novelties like section
and article
.
According to standards a Paragraph should not contain other block elements (including paragraphs and headers). As indicated in other answers, to group a header with a paragraph you can use the div tag.
You can find a lot of information about this subject also on w3c's website: http://www.w3.org/TR/html401/struct/global.html#block-inline