В принципе, невозможно использовать фоновое изображение должным образом, imo.
Я знаю, что это ваше мнение, но остальная часть Интернета, похоже, не согласна с вами. Они заставляют это работать. Но это, вероятно, не главная проблема здесь.
Изменение размера фона для каждого пользователя, черт возьми, каждый запрос, если вы не кешируете, обнулит ваш сервер за наносекунду. Изменение размера GD стоит дорого, и если это на виртуальном хостинге, ваш сайт будет запущен. Если на этом сервере есть другие сайты, они замедлятся до сканирования.
Даже если вы сумеете залить достаточное количество угля на сервер, это создаст довольно хитрый пользовательский опыт. Вместо того, чтобы загружать файл, браузер должен будет подождать, пока PHP сгенерирует изображение, и только тогда он сможет его загрузить.
А что, если я загрузил этот сайт на большом экране? У меня есть возможное разрешение ~ 3840 * 1200 здесь. Даже если вы не увеличите масштаб, мне придется скачать полную версию. Большой размер экрана не означает, что у меня есть избыточные оптические волокна к компьютеру.
Но, несмотря на все это, это, безусловно, возможно. Я бы порекомендовал вам начать с JQuery. Это делает подключение к событиям window -load и -resize и динамическое изменение CSS довольно простым. Мелкие детали можно получить с помощью нескольких простых гуглов: «php resize image», «jquery onresize» и «jquery change background».