We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS


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 (hyphen case) 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. The following values are accepted:
    • String value "important"
    • Keyword undefined
    • String empty value ""

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 border-width CSS property on a selector rule:

var declaration = document.styleSheets[0].rules[0].style;
declaration.setProperty('border-width', '1px 2px');
// Equivalent to:
// declaration.borderWidth = '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

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

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: delete12345, determin1st, bunnybooboo, Qantas94Heavy
Last updated by: delete12345,