Раньше для создания плавающего блока приходилось прибегать к использованию Javascript. Определение положения полосы прокрутки документа, позиции относительно границ экрана, position absolute - все это очень сильно усложняло жизнь разработчику.
CSS 3 привнес много интересных фич, позволяющих заметно сократить количество используемого JavaScript кода. Новый параметр для свойства position - sticky, закрепляет элемент у нужной границы экрана, в зависимости от указанных свойств top, left, right, bottom. Элемент фиксируется до достижения края родителя. Для старых версий браузера желательно указать перед position:sticky - position:relative.