<style> : l'élément d'information de style
==========================================

L'élément HTML **`<style>`** contient des informations de mise en forme pour un document ou une partie d'un document. Par défaut, les instructions de mise en forme écrites dans cet élément sont écrites en CSS.

Exemple interactif
------------------

L'élément `<style>` peut être inclus dans l'élément `<head>` ou dans l'élément `<body>` du document et les styles seront appliqués. Toutefois, il est recommandé de placer les styles dans l'élément `<head>` afin de clairement séparer la présentation du contenu autant que possible. La méthode idéale en ce sens consiste à utiliser des feuilles de style dans des fichiers externes et de les appliquer au document grâce à des éléments `<link>`.

Si plusieurs éléments `<style>` et `<link>` sont appliqués au document, ils seront appliqués dans l'ordre dans lequel ils sont inclus dans le document. Aussi, vérifiez l'ordre afin d'éviter tout problème de cascade.

À l'instar des éléments `<link>`, les éléments `<style>` peuvent inclure des attributs `media` qui décrivent des requêtes média qui permettent d'appliquer des feuilles de styles selon certains critères provenant du média utilisé (la largeur de l'écran par exemple).

Attributs
---------

Cet élément inclut les attributs universels.

`media`

Cet attribut est une requête média qui indique le média auquel la mise en forme doit s'appliquer. Cet attribut est optionnel, la valeur par défaut est `all`.

`nonce`

Un *nonce* cryptographique utilisé pour inscrire les styles en ligne sur une liste blanche pour la règle `style-src` de la CSP (*Content Security Policy*). Le serveur doit générer un nonce unique chaque fois qu'il transmet une règle de sécurité. Ce nonce ne doit pas pouvoir être deviné car sinon, il devient trivial d'outrepasser la règle de sécurité.

`type`

Cet attribut définit le langage de la feuille de style sous la forme d'un type MIME (le jeu de caractères ne doit pas être indiqué). Cet attribut est optionnel, la valeur par défaut est `text/css`.

`title`

Cet attribut indique un ensemble de feuilles de style alternatif.

### Attributs dépréciés ou obsolètes

`scoped` 
Non-standard

Obsolète

Cet attribut indique que les règles de mises en forme ne s'appliquent qu'aux éléments ayant le même élément parent que l'élément courant.

Exemples
--------

### Une feuille de style simple

#### HTML


```html
<!doctype html>
<html>
  <head>
    <style>
 p {
 color: red;
 }
 </style>
  </head>
  <body>
    <p>Voici un paragraphe.</p>
  </body>
</html>
```


#### Résultat

### Utiliser plusieurs éléments `<style>`

Dans cet exemple, on utilise deux éléments `<style>`, on peut voir comment les déclarations en conflit sont gérées : c'est le deuxième élément qui a la priorité si les spécificités sont égales car les feuilles sont appliquées dans l'ordre.

#### HTML


```html
<!doctype html>
<html>
  <head>
    <style>
 p {
 color: white;
 background-color: blue;
 padding: 5px;
 border: 1px solid black;
 }
 </style>
    <style>
 p {
 color: blue;
 background-color: yellow;
 }
 </style>
  </head>
  <body>
    <p>Voici un paragraphe.</p>
  </body>
</html>
```


#### Résultat

### Utiliser une requête média

Dans cet exemple (basé sur le précédent), on ajoute un attribut `media` sur le deuxième élément `<style>` afin que les règles correspondantes ne soient appliquées que si la largeur de la zone d'affichage (*viewport*) est inférieure à 500 pixels.

#### HTML


```html
<!doctype html>
<html>
  <head>
    <style>
 p {
 color: white;
 background-color: blue;
 padding: 5px;
 border: 1px solid black;
 }
 </style>
    <style media="all and (max-width: 500px)">
 p {
 color: blue;
 background-color: yellow;
 }
 </style>
  </head>
  <body>
    <p>Voici un paragraphe.</p>
  </body>
</html>
```


#### Résultat

Résumé technique
----------------

|  |  |
| --- | --- |
| Catégories de contenu | Contenu de métadonnées. |
| Contenu autorisé | 
 Du contenu textuel correspondant à l'attribut
 `type` (c'est-à-dire `text/css`).
  |
| Omission de balises | Les deux balises doivent être présentes. |
| Parents autorisés | 
 Tout élément qui accepte du
 contenu de métadonnées.
  |
| Rôles ARIA autorisés | Aucun |
| Interface DOM | `HTMLStyleElement` |

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # the-style-element |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* L'élément `<link>` qui permet d'utiliser des feuilles de style externes.