2015-10-01 3 views
2

У меня есть фиксированный элемент заголовка, который я бы хотел зафиксировать на прокрутке. Однако прокручиваемую область я бы хотел, чтобы она позиционировалась после фиксированного элемента, но я не хочу использовать position: absolute и удалять ее из потока документов.Стильный элемент в нижней части фиксированного элемента

Я создал Codepen here, чтобы проиллюстрировать проблему, которую я испытываю. Я хотел бы, чтобы красный элемент (.top) наклеился на свиток, не скрывая первый элемент списка.

Есть ли способ сделать это в CSS (возможно, используя flexbox), который не требует каких-либо JS?

Любая помощь приветствуется.

Заранее благодарен!

ответ

1

Если мое понимание вашего вопроса верное, вы не хотите вносить изменения кроме для прокручиваемого содержимого, которое не должно быть скрыто за фиксированным заголовком.

Исправленный заголовок, кажется, имеет естественную высоту почти 20 пикселей.

Таким образом, вы можете применить верхний край к прокручиваемому контенту, который толкает его сверху, пока он не очистит заголовок.

Попробуйте добавить это в ваш CSS:

div.list { margin-top: 20px;} 

Это будет толкать div, содержащий все элементы списка 20px от вершины.

DEMO: http://codepen.io/anon/pen/EVWYJd


UPDATE

Ответ выше работ, когда высота фиксированного заголовка известна. Но исходя из отзывов в комментариях, высота заголовка меняется. Поэтому требуется решение, которое сохраняет прокручиваемое содержимое под заголовком независимо от высоты заголовка.

Эта проблема была решена в этих постах:

+0

Это работает и, вероятно, что я обычно делаю, но я ожидаю, что липкая область, чтобы изменить высоту, и хотел бы, чтобы список располагался непосредственно под фиксированной областью, независимо от его размера. Если это имеет смысл? – realph

+0

Как вычисляется высота фиксированного заголовка? –

+0

Это то, что я не хочу определять в CSS. Эта фиксированная область будет расширяться по клику, и я бы хотел, чтобы список перемещался вниз по мере расширения фиксированной области. – realph

Смежные вопросы