В проекте мой клиент хотел бы, чтобы плавающий блок находился в другом блоке div, поэтому я использую свойство CSS margin-top, а не верх, чтобы мой плавающий блок оставался в своем родительском блоке.
Для тех браузеров, которые поддерживают "position: fixed", вы можете просто использовать javascript (jQuery) для изменения положения на "fixed" при прокрутке. Это устраняет скачки при прокрутке с помощью решений $(window).scroll(function()), перечисленных здесь.
Бен Надель демонстрирует это в своем учебнике: Creating A Sometimes-Fixed-Position Element With jQuery