MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/8d22564490d8

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 default to text/css if it's missing.
media
This attribute defines which media the style should apply to. It's value is a media query, which default to all if the attribute is missing.
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> 

Styles scoped to the parent element and its children

The scoped attribute is non-standard; it was being considered for standardization at one point but was dropped. Firefox and some other browsers still support it but you should avoid using it if at all possible since it could be removed from any or all of the supporting browsers at any time.

<div>
  <style scoped>
    h3 { color:red; }
    p { color:blue; }
  </style>
  <h3>This is a heading.</h1>
  <p>This is a paragraph.</p>
</div>

Specifications

Specification Status Comment
WHATWG 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

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 1.0 (Yes) 1.0 (1.7 or earlier) 3.0 3.5 1.0
scoped No support No support 21 (21) No support No support No support
Feature Android Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support 1.0 (Yes) 1.0 (1.0) 9.0[1] 6.0 1.0
scoped No support No support 21.0 (21) No support No support No support

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

See also

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