Skip to content

Linter Rule: Disallow inline style attributes ​

Rule: html-no-style-attributes

Description ​

Disallow the use of inline style attributes on HTML elements. All styling should be applied via external stylesheets or class-based styling.

Rationale ​

Inline style attributes make templates harder to maintain, promote duplication, and prevent adoption of strict CSP policies (style-src 'self'). Using CSS classes and external stylesheets improves maintainability and security.

Examples ​

✅ Good ​

erb
<button class="btn btn-primary">Submit</button>
erb
<div data-controller="hello" data-action="click->hello#greet">Content</div>

🚫 Bad ​

erb
<button style="color: red;">Submit</button>
erb
<div style="<%= custom_styles %>">Content</div>

References ​

Released under the MIT License.