Различные химические соединения поглощают свет по-разному, в зависимости от того, как устроена их электронная система. Поглощение молекулой вещества кванта света с определенной длиной волны подразумевает переход электрона с одного энергетического уровня на другой. В молекуле того или иного вещества есть несколько разных энергетических уровней, поэтому она может поглощать те кванты света, которые соответствуют этим уровням. Из-за этого получается такое явление как цвет - когда вещество поглощает кванты с определенным набором длин волн, а другие - пропускает или отражает. Поэтому мы видим, что разные вещества имеют разные цвета.
В ультрафиолетовой области происходит аналогичный процесс, только мы его не видим. Довольно многие органические вещества поглощают в ультрафиолете, но некоторые из них прозрачны в видимой области, а некоторые - нет. Еще может быть разница в том, что происходит с поглощенной энергией - она может целиком рассеиваться в виде тепла (это происходит через переходы по колебательным энергетическим уровням, соответствующим инфракрасному излучению), или так может теряться часть энергии, а остальное выделяться в виде видимого света (люминесценция). В кремах могут применяться и те, и другие. Ну и конечно, все эти вещества должны быть нетоксичными для кожи.
Ну и в качестве иллюстрации - картинка из Википедии: чувак с кремом на спине в видимом свете и в ультрафиолете.
Кроме химических фильтров есть ещё физические.