No Inline CSS Styles
User guide
- Getting Started
Api
Concepts
Configurations
Configuring webhint
Connectors
Development flow integration
Extensions
Formatters
Hints
- Avoid CSS limits
- Avoid HTTP redirects
- axe accessibility check
- Babel configuration hint set
- Compatibility of CSS, HTML and JavaScript features
- Correct `Content-Type` header
- Correct manifest extension
- Correct viewport
- Detect CSS Reflows
- Disallowed HTTP headers
- External links disown opener
- Has web app manifest
- Highest document mode
- HTTP cache
- Leading '.' in `classList.add` or `classList.remove`
- Manifest has name
- Minify JavaScript
- Modern DOCTYPE
- No `createElement` with SVG
- No `P3P` headers
- No broken links
- No byte-order mark
- No Inline CSS Styles
- No protocol-relative URLs
- No small error pages
- No vulnerable libraries
- Nu HTML test
- Optimal compression
- Optimize images
- Performance budget
- Prefixed CSS first
- scoped-svg-styles
- Specify button type
- SSL server test
- TypeScript configuration hints set
- Unneeded HTTP headers
- Use `Strict-Transport-Security` header
- Use `X-Content-Type-Options` header
- Use Apple touch icon
- Use charset `utf-8`
- Use HTTPS
- Use subresource integrity
- Valid `Set-Cookie` header
- Valid `theme-color`
- Valid manifest
- webpack configuration hints set
Parsers
Server configurations
Troubleshoot
- Api
- Concepts
- Configurations
- Configuring webhint
- Connectors
- Development flow integration
- Extensions
- Formatters
- Hints
- Parsers
- Server configurations
- Troubleshoot
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 browser cache advantage. Inline styles take precedence of external stylesheets, this could accidentally 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
<div style="color: blue;"></div> |
The hint will trigger if you use internal styles, this is disabled by default
<style>
div {
color: blue;
}
</style> |
Examples that pass the hint
No inline style in the element
<!DOCTYPE html>
<html lang="en">
<head>
...
</head>
<body>
...
<div>Hi styles</div>
</body>
</html> |
Can the hint be configured?
requireNoStyleElement
can be set to true
to disallow and require the use of
no style
tag.
In the .hintrc
file:
{
"connector": {...},
"formatters": [...],
"hints": {
"no-inline-styles": [ "warning", {
"requireNoStyleElement": true
}],
...
},
...
} |
How to use this hint?
Install this hint with:
npm install @hint/hint-no-inline-styles --save-dev |
To use it, activate it via the .hintrc
configuration file:
{
"connector": {...},
"formatters": [...],
"parsers": [...],
"hints": {
"no-inline-styles": "error",
...
},
...
} |