HTMLElement.style

Un objet pour les styles écrits directement sur l’élément (inline), pour lire et modifier des propriétés CSS individuelles.

Renvoie
Un objet CSSStyleDeclaration avec les styles inline de l’élément.
Sur cette page

Exemple

#
JavaScript
const bar = document.querySelector('#bar')

bar.style.width = '65%'
bar.style.backgroundColor = 'orange'

console.log(bar.style.width)
console.log(bar.style.backgroundColor)
console.log(bar.style.height)
Console
65%
orange
12px

Définition et utilisation

#

La propriété style donne accès aux styles enregistrés dans l’attribut style de l’élément. Chaque propriété CSS a ici un équivalent en notation camelCase : background-color devient style.backgroundColor, et font-size devient style.fontSize. Vous définissez les valeurs comme des chaînes, toujours avec une unité, par ex. "200px".

style ne montre que les styles inline. Vous n’y verrez pas les règles des feuilles de style, donc lire style.color pour un élément stylé par une classe renvoie une chaîne vide. Pour lire l’apparence réelle, calculée, utilisez la fonction getComputedStyle(element).

Vous définissez une variable CSS (par ex. --accent) avec la méthode style.setProperty("--accent", "#7c3aed"), et vous retirez un style en lui affectant une chaîne vide ou en appelant removeProperty(). Pour des changements d’apparence plus importants, mieux vaut basculer des classes avec classList, et réserver style aux valeurs calculées à la volée, comme une position ou la largeur d’une barre de progression.

Syntaxe

#
Syntaxe
element.style.propertyName = value
element.style.setProperty(name, value)
element.style.removeProperty(name)

getComputedStyle(element).propertyName

Plus d’exemples

#
« style » ne voit que les styles inline
JavaScript
const title = document.querySelector('#title')

console.log(title.style.color === '')
console.log(getComputedStyle(title).color)
console.log(getComputedStyle(title).fontSize)
Console
true
rgb(167, 139, 250)
20px
Variables CSS et unités
JavaScript
const box = document.querySelector('#box')

box.style.setProperty('--accent', '#0ea5e9')
console.log(box.style.getPropertyValue('--accent'))

box.style.width = 120
console.log(box.style.width === '')

box.style.width = '120px'
console.log(box.style.width)
Console
#0ea5e9
true
120px

L’affectation du simple nombre 120 est ignorée, car en CSS la largeur exige une unité. Seule la chaîne "120px" modifie le style.

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • Indiquez toujours une unité : style.width = "120px". Un simple nombre sera ignoré.
  • Pour lire les styles venant des feuilles de style, utilisez getComputedStyle(element), car style ne voit que les valeurs inline.
  • Décrivez les changements d’apparence plus importants en CSS sous forme de classe, et basculez-la avec classList.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.