Чтобы сделать это только на элементе тела, вам нужно объединить несколько фонов , RGBA и радиальные градиенты . Вам понадобится свойство по умолчанию с одним повторяющимся фоном для тех браузеров, которые не поддерживают градиенты, тогда Gecko и Chrome / Safari имеют разный синтаксис для градиентов , поэтому вам потребуется свойство для каждого из них , Должно получиться что-то вроде (не проверено):
body {
background: url(repeat.jpg);
background: -moz-radial-gradient(100px 100px, ellipse farthest-corner, white 0%, rgba(255, 255, 255, 0) 100%, rgba(255, 255, 255, 0.5) 25%) no-repeat, url(repeat.jpg);
background: -webkit-gradient(radial, 100 100, 200, from(#fffff), to(rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.5)) no-repeat, url(repeat.jpg);
}
Вы можете обнаружить, что добавление элемента-оболочки для вашего источника света в долгосрочной перспективе требует меньше усилий.