Три колонки и фон под ними. Размер фона зависит от ширины бока, как и колонки. Раз их размер меняется одинаково, значит достаточно будет подвинуть фон. А дальше браузер сам все сделает.
P.S. Не забудьте оторвать ноги дизайнеру. Задача выполнима, как на css, так и на js, но я сомневаюсь, что дизайнер компетентен в этом вопросе. Да и вообще такую хрень лучше не генерировать в фантазиях, выглядит так себе, смысла ноль.