MDN wants to learn about developers like you:


The CSSStyleDeclaration.setProperty() method interface sets a new value for a property on a CSS style declaration object.


style.setProperty(propertyName, value, priority);


  • propertyName is a DOMString representing the CSS property name to be modified.
  • value Optional is a DOMString containing the new property value. If not specified, treated as the empty string.
    • Note: value must not contain "!important" -- that should be set using the priority parameter.
  • priority Optional is a DOMString allowing the "important" CSS priority to be set. If not specified, treated as the empty string.

Return value


  • DOMException (NoModificationAllowedError): if the property or declaration block is read only.

JavaScript has a special simpler syntax for setting a CSS property on a style declaration object:

style.cssPropertyName = 'value';


The following JavaScript code sets a new value for the margin CSS property on a selector rule:

var declaration = document.styleSheets[0].rules[0].style;
declaration.setProperty('margin', '1px 2px');
// Equivalent to:
// declaration.margin = '1px 2px';


Specification Status Comment
CSS Object Model (CSSOM)
The definition of 'CSSStyleDeclaration.setProperty()' in that specification.
Working Draft  
Document Object Model (DOM) Level 2 Style Specification
The definition of 'CSSStyleDeclaration' in that specification.

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Document Tags and Contributors

 Contributors to this page: bunnybooboo, Qantas94Heavy
 Last updated by: bunnybooboo,