The HTML <span>
element is a generic inline container for phrasing content, which does not inherently represent anything. It can be used to group elements for styling purposes (using the class
or id
attributes), or because they share attribute values, such as lang
. It should be used only when no other semantic element is appropriate. <span>
is very much like a <div>
element, but <div>
is a block-level element whereas a <span>
is an inline element.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Content categories | Flow content, phrasing content. |
---|---|
Permitted content | Phrasing content. |
Tag omission | None, both the starting and ending tag are mandatory. |
Permitted parents | Any element that accepts phrasing content, or any element that accepts flow content. |
Implicit ARIA role | No corresponding role |
Permitted ARIA roles | Any |
DOM interface | HTMLSpanElement (before HTML5, the interface was HTMLElement ) |
Attributes
This element only includes the global attributes.
Example
Example 1
HTML
<p><span>Some text</span></p>
Result
Example 2
HTML
<li><span>
<a href="portfolio.html" target="_blank">See my portfolio</a>
</span></li>
CSS
li span {
background: gold;
}
Result
Specifications
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of '<span>' in that specification. |
Living Standard | |
HTML5 The definition of '<span>' in that specification. |
Recommendation | The DOM interface is now HTMLSpanElement . |
HTML 4.01 Specification The definition of '<span>' in that specification. |
Recommendation |
Browser compatibility
BCD tables only load in the browser
See also
- HTML
<div>
element