Мое решение, вдохновленный @ niaccurshi-х:.
Вместо hard-coding padding-top, создайте невидимый дублирующий элемент, который занимает такое же пространство, но только при прикреплении исходного элемента.
JS:
var $submenu = $(".submenu");
// To account for the affixed submenu being pulled out of the content flow.
var $placeholder = $submenu.clone().addClass("affix-placeholder");
$submenu.after($placeholder);
$submenu.affix(…);
CSS:
.affix-placeholder {
/* Doesn't take up space in the content flow initially. */
display: none;
}
.affix + .affix-placeholder {
/* Once we affix the submenu, it *does* take up space in the content flow. But keep it invisible. */
display: block;
visibility: hidden;
}
Спасибо, что работали! Вы действительно правы, что это выглядит довольно странно на IE8, например. Собираюсь искать какое-то хакерское исправление ... – deekay
Это сработало в аналогичной проблеме, но у меня не было ни одной загрузочной записи. Спасибо чувак! – Binary101010
nice, спасибо – dichterDichter