Поймите, что position:fixed
элементы удалены из нормального потока DOM. Это означает, что элементы position:fixed
больше не позиционируются относительно своих родительских контейнеров или элементов одного уровня .
.
Следовательно, центральный столбец должен быть смещен от левой стороны, так как крайний левый столбец больше не сдвигает его вправо. Для этого вы можете использовать Bootstrap offset-sm-3
class ...
<div class="col-sm-6 offset-sm-3">center</div>
Аналогично, самый правый столбец должен быть сдвинут вправо. В данном случае 9 единиц, так как это общая ширина левого и центрального столбцов.
<div class="col-sm-3 offset-sm-9">right</div>
Кроме того, хранение ваших фиксированных столбцов в container
не будет работать, поскольку их ширина относится ко всей ширине области просмотра (а не к ширине родительского контейнера). Я бы порекомендовал использовать container-fluid
, поскольку он будет иметь такую же ширину, что и окно просмотра, и позволит столбцам сохранять разметку ширины 25% -75% -25%.
Демо с фиксированной позицией : https://www.codeply.com/go/IyYNYLKQBr
<Ч />
Другой, возможно, более простой вариант - использовать position:sticky
в левой и правой колонках. В отличие от position:fixed
, липкие столбцы останутся в нормальном потоке DOM. Они не всегда «фиксированы» на странице, но будут отображаться «фиксированными», когда прокрутка позволяет.
Демонстрация прилипшего положения : https://www.codeply.com/go/vxpLuKAu4m
<Ч />
Похожие: фиксированное положение col начальной загрузки