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 scopedattribute is present: flow content. | 
|---|---|
| Permitted content | Text content matching the typeattribute, that istext/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/cssif it's missing.
- media
- This attribute defines which media the style should apply to. Its value is a media query, which default to allif 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> 
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
| 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[1] | No support | No support[2] | 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[3] | 6.0 | 1.0 | 
| scoped | No support | No support | No support[2] | No support | No support | No support | 
[1] Chrome 19 up to 34 supports it after activating the ‘Enable <style scoped>’ entry in chrome://flags. Removed in Chrome 35 and later.
[2] Firefox 21 implemented <style scoped>, but it was hidden behind a pref (layout.css.scoped-style.enabled) in content documents in Firefox 55+, as no other browsers support it.
[3] Mobile Internet Explorer (the previous branding of IE Phone — versions lower than 8) also had support for <style scoped>.
See also
- The <link>element allowing to use external style sheets.
Document Tags and Contributors
    
    Tags: 
    
  
                    
                       Contributors to this page: 
        chrisdavidmills, 
        jpoesen, 
        stevenwdv, 
        Sheppy, 
        sideshowbarker, 
        TurboBasic, 
        s3cc0, 
        libbymc, 
        phistuck, 
        ExplodingCabbage, 
        bouzlibop, 
        teoli, 
        MarkBeleski, 
        Sebastianz, 
        fjanon, 
        Jeremie, 
        Nexii, 
        Mr_Keto, 
        yisi, 
        kscarfone, 
        justleroy, 
        ethertank, 
        Brettz9, 
        trevorh, 
        medicdude, 
        Marsf, 
        ebidel, 
        fscholz, 
        McGurk, 
        osdm
                    
                    
                       Last updated by:
                      chrisdavidmills,