Lessons · HTML and CSS · attaching CSS
Attaching CSS
CSS reaches a page three ways: a linked stylesheet file, a style element in the page, or a style attribute on one element. The attribute wins over both, and cannot be reused.
Hone is a place to practise programming. This is one of its lessons, written out in full and free to read without an account.
What it is for
Knowing where a style comes from is half of debugging. A colour that will not change is usually an inline style or a later file you did not know was loaded.
How to think about it
One linked file for the site. A style element for a one-page demo. An inline style almost never, because the next person cannot override it from the stylesheet.
Worked example
<link rel="stylesheet" href="style.css">In the head: one shared file, cached once, used by every page.
<style> p { color: rgb(0, 128, 0); } </style>A style element: CSS inside the page. Fine for one page or a demo.<p style="color: rgb(200, 0, 0)">Inline</p>A style attribute on one element: it beats the stylesheet, and no rule can reuse it.
<p>Shared</p>This paragraph takes the style element's green; the inline one stays red.
Your turn
Attach the site's stylesheet.
<link rel="stylesheet" ="site.css">
Write a page and watch it render
The trap
Fixing a colour with an inline style because the stylesheet 'did not work'. It works; something more specific was winning, and inline hides that instead of fixing it.