hint-no-inline-styles
Version:
Invalidate the use of CSS inline styles in HTML
83 lines (57 loc) • 1.86 kB
Markdown
# No Inline CSS Styles
This hint checks if the HTML is using inline CSS styles.
## Why is this important?
> 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 broswer cache advantage. Inline styles takes precenden of external stylesheets, this could accidentely override styles that you did not intend to overwrite.
## What does the hint check?
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.
### Examples that **trigger** the hint
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
```html
<style>
div {
color: blue;
}
</style>
```
### Examples that **pass** the hint
No inline style in the element
```html
<html lang="en">
<head>
...
</head>
<body>
...
<div>Hi styles</div>
</body>
</html>
```
## How to use this hint?
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",
...
},
...
}
```
<!-- Link labels: -->
[hintrc]: https://webhint.io/docs/user-guide/configuring-webhint/summary/