Can <span> tags have any type of tags inside them?

HtmlXhtml

Html Problem Overview


Are tags such as <div>, <form>, <pre> etc.. allowed inside a <span>?

Html Solutions


Solution 1 - Html

The span element is an inline element, which should contain only other inline elements and no block elements.

From the spec:

> Generally, block-level elements may > contain inline elements and other > block-level elements. Generally, > inline elements may contain only data > and other inline elements. Inherent in > this structural distinction is the > idea that block elements create > "larger" structures than inline > elements.

The generic block-level grouping element is the div. The generic inline-level grouping element is the span.

Again, from the spec:

> The DIV and SPAN elements, in > conjunction with the id and class > attributes, offer a generic mechanism > for adding structure to documents. > These elements define content to be > inline (SPAN) or block-level (DIV) but > impose no other presentational idioms > on the content.

Solution 2 - Html

According to the HTML Living Standard, the content model for SPAN elements is "Phrasing content".

Read about the SPAN element here.

Read about phrasing content here. This second link contains a full list of all the elements that can be put inside a SPAN element.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAlexView Question on Stackoverflow
Solution 1 - HtmlWayneView Answer on Stackoverflow
Solution 2 - HtmlŠime VidasView Answer on Stackoverflow