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


This element includes the global attributes.

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.
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.
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.
Specifies alternative style sheet sets.
Specifies that the styles only apply to this element's parent element and that element's child elements.


A simple stylesheet

<style type="text/css">
body {


Specification Status Comment
HTML Living Standard
The definition of 'style' in that specification.
Living Standard  
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.

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.