This site uses cookies for analytics. By continuing to browse this site, you agree to this use.

No Inline CSS Styles

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",
        ...
    },
    ...
}

Further Reading