@hint/hint-no-inline-styles
Version:
Invalidate the use of CSS inline styles in HTML
115 lines (84 loc) • 2.58 kB
Markdown
This hint checks if the HTML is using inline CSS styles.
The use of inline CSS styles prevent the reuse of the styles anywhere else.
The html markup of the page becomes hard to read for the naked eye. The inline
CSS styles are hard to maintain and does not provide consistency since they are
not stored in a single place. The inline styles are repeated downloaded by the
client on every request since it does not provide you with browser cache
advantage. Inline styles take precedence of external stylesheets, this could
accidentally override styles that you did not intend to overwrite.
This hint checks if the HTML is using inline CSS styles.
Examples of inline CSS styles
`<div style="color: blue;"></div>`
`<style></style>`
It checks that no element has the attribute `style`.
It also checks that no internal styles `<style>` is used.
The hint will trigger if any element have the attribute `style`
```html
<div style="color: blue;"></div>
```
The hint will trigger if you use internal styles, this is disabled by default
```html
<style>
div {
color: blue;
}
</style>
```
No inline style in the element
```html
<!DOCTYPE html>
<html lang="en">
<head>
...
</head>
<body>
...
<div>Hi styles</div>
</body>
</html>
```
`requireNoStyleElement` can be set to `true` to disallow and require the use of
no `style` tag.
In the [`.hintrc`][hintrc] file:
```json
{
"connector": {...},
"formatters": [...],
"hints": {
"no-inline-styles": [ "warning", {
"requireNoStyleElement": true
}],
...
},
...
}
```
Install this hint with:
```bash
npm install @hint/hint-no-inline-styles --save-dev
```
To use it, activate it via the [`.hintrc`][hintrc] configuration file:
```json
{
"connector": {...},
"formatters": [...],
"parsers": [...],
"hints": {
"no-inline-styles": "error",
...
},
...
}
```
- [Why CSS inline styles are considered harmful for accessibility][why-css-inline-styles-are-considered-harmful-accessibility]
<!-- Link labels: -->
[]: https://webhint.io/docs/user-guide/configuring-webhint/summary/
[]: https://www.nomensa.com/blog/2011/css-inline-styles-and-why-they-are-considered-harmful-accessibility