Are you looking at the Google page speed results? Because if so, you need to bear in mind that it’s making recommendations to make the page load as fast as possible, and that you can disregard some of the suggestions, they’re optimisations you probably don’t need.
- So a user lands on your page.
- The parser find a link tag with the CSS file.
- The rendering of the page is blocked until that CSS file is parsed, otherwise you would have an unstyled page.
The way to get around this is to inline all of the CSS that is needed when the page is first loaded into the HTML like
<body style="background-color: pink; color=blue;"> etc. There are tools to do this automatically, but they take a lot of setup, and you don’t need this optimisation in a lot of cases. For example, you ideally want to figure out what parts of the web page will show on the user’s screen when it first loads, and only those parts need the CSS inlining. And not all the CSS needs inclining, just the stuff that is immediately visible. None of this is trivial, having a CSS file linked in is much easier and works fine in 99% of cases.
If you have an app where is vital that it loads as fast as humanly possible, then look at these things, but most of the time you don’t need to do that.