The HTML <style> element contains style information for a document, or part of a document. By default, the style instructions written inside that element are expected to be CSS.

Content categories Metadata content, and if the scoped attribute is present: flow content.
Permitted content Text content matching the type attribute, that is text/css.
Tag omission Neither tag is omissible.
Permitted parents Any element that accepts metadata content.
Permitted ARIA roles None
DOM interface HTMLStyleElement

Attributes

This element includes the global attributes.

type
This attribute defines the styling language as a MIME type (charset should not be specified). This attribute is optional and defaults to text/css if it's missing.
media
This attribute defines which media the style should apply to. Its value is a media query, which defaults to all if the attribute is missing.
nonce
A cryptographic nonce (number used once) to whitelist inline styles in a style-src Content-Security-Policy. The server must generate a unique nonce value each time it transmits a policy. It is critical to provide an unguessable nonce, as bypassing a resource’s policy is otherwise trivial.
title
Specifies alternative style sheet sets.
scoped
Specifies that the styles only apply to this element's parent element and that element's child elements.

Examples

A simple stylesheet

<style type="text/css">
body {
  color:red;
}
</style> 

Specifications

Specification Status Comment
HTML Living Standard
The definition of 'style' in that specification.
Living Standard  
HTML5
The definition of 'style' in that specification.
Recommendation No change from HTML 4.01 Specification.
HTML 4.01 Specification
The definition of 'style' in that specification.
Recommendation  

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support1 Yes133.51
type1 Yes133.51
media1 Yes133.51
title1 Yes133.51
scoped19 — 352 No21 No No No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic support11 Yes49161
type11 Yes49161
media11 Yes49161
title11 Yes49161
scoped No No No21 No No No

1. Mobile Internet Explorer (the previous branding of IE Phone - versions lower than 8) also has support.

2. From version 19 until version 35 (exclusive): this feature is behind the Enable <style scoped> preference (needs to be set to true). To change preferences in Chrome, visit chrome://flags.

See also

  • The <link> element allowing to use external style sheets.