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.

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.
Permitted ARIA roles Any
DOM interface HTMLSpanElement (before HTML 5, the interface was HTMLElement)

Attributes

This element only includes the global attributes.

Example 1

<p><span>Some text</span></p>

Result

Some text

Example 2

<li><span>
    <a href="portfolio.html" target="_blank">See my portfolio</a>
</span></li>

CSS:

li span {
background: gold;
}

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

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes1 Yes Yes Yes
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic support Yes Yes Yes4 Yes Yes Yes

See also