Why isn’t it ?
The way JavaScript works is we can do scripts as an inline block:
<script>
let foo = "bar";
</script>
Or, if the script should be fetched from the network…
<script src="/js/global.js"></script>
With CSS, we can do an inline block of styles:
<style>
.foo { color: red; }
</style>
So why not ? Instead, we have
.
Harry Roberts asked about that the other day on Twitter:
Can any W3 historians tell us why it’s “ and not “?
— Harry Roberts (@csswizardry) November 29, 2018
There is lots of speculation in that thread, but Bruce has a pretty clear answer:
AFAIK, tells the browser to get something and insert it here – eg , “. Stylesheets aren’t ‘inserted’, they are related to the current doc, but typically style more than 1 page. declares a block of rules for this page only
— Bruce Lawson (@brucel) November 29, 2018
I sort of get that. The location in the document matters with src
, but not with — that relates to the entire document instead. I guess the crack in that reasoning is that the order of stylesheets does matter for order-specificity, but I take the point.
The W3C chimed to confirm that logic:
was completely obvious at the time, with for external resources that apply to the whole document (copyright, parent document, alternative formats, translations, style sheets); was never discussed. (1/2)
— W3C (@w3c) November 29, 2018
There we have it: wasn’t even considered.
The post Why isn’t it ? appeared first on CSS-Tricks.