Для того, чтобы верхняя часть сайта загружалась мгновенно, поэтому стили шапки и еще кое каких элементов я "в открытую" перенес в шапку в теге style. Однако, остальные стили подключать уже в шапке смысла нет, ибо тогда весь эффект испарится. Я знаю, что желательно подключать их асинхронно и аппендить их в шапку. Хороший способ, пользоваться я им, конечно же, не буду. Есть проблема с одним плагином, который таким образом не работает. Я сейчас с этим разбираюсь, но нужно достаточно срочно решить вопрос. А "костыль" я устраню позже.
Так вот, о чём это я. Можно ли подключить link прямо в документе где-нибудь после тега body? Не будет ли это невалидным решением?
Ваш css - это же капля в море. Вот оптимизация js и картинок даст адекватный эффект. А css лучше оптимизировать с точки зрения его кода, а не разбивки на файлы и подключения вне боди. К тому же надо минифицировать.
Negwereth: Вот верится с трудом. Это теория, на практике в 99% случаев это капля в море. Давайте свой сайт или цифры реальные. Допустим загрузка с css в котором только первый экран и загрузка с полным. Давайте сравнивать цифры, только на реальном проекте, а не специально подготовленном монстре.
Я это понимаю, у меня всё уже давно оптимизировано. Картинки сжаты, js сжат и помещен в конец. Css тоже сжат. Проблема в том, что в head подключено много всего (css разбит на 2 файла - стили библиотек и собсна сами стили страницы), поэтому до того, как пользователь начнет видеть хоть что-то, проходит много времени. Посему у юзера зачастую нет возможности попасть в меню сайта при медленном интернете. В связи с этим было принято решение мгновенно отрисовывать верхний контент, а остальное уже по мере загрузки страницы. Вопрос вообще был не об этом :)
Negwereth: Я видел материалы. Я Вам про то, что там "тепличные условия", возьмем стандартный проект и разница в скорости будет настолько мала, что можно пренебречь.
Зачастую вопросы по оптимизации задают люди у которых есть серьезные пробелы в теме. И просто оптимизация фоток дает в 1000 раз больший результат. Согласитесь распараллелить css при том что есть фотки 3000x3000, которые отображаются как 300х300 - это странная затея и экономия на копейках. Когда с остальным порядок, можно думать и об этом. Вот и получается, что надо бы глянуть предмет диалога.