Я пытаюсь применить липкую позицию к макету сетки - PullRequest
0 голосов
/ 17 марта 2020

Я использую систему сетки для макета сайта. У меня есть сетка, которая имеет два ряда. Внутри первого ряда находится еще одна сетка с двумя рядами. То, что я хотел бы сделать, это предотвратить прокрутку верхнего ряда второй сетки за пределы экрана.

При взгляде по сторонам мне кажется, что лучше всего использовать позицию: липкая с вершиной: 0px. Однако это работает только до тех пор, пока нижний ряд не будет прокручиваться за пределы экрана. Как только это прокручивается, оно также занимает верхний ряд. Если я применю одни и те же атрибуты ко всей второй сетке, то это сработает, но у меня появятся как верхнее, так и нижнее поля на экране.

CSS

  display: grid;
  grid-template-rows: auto 1000px;
  grid-template-areas: "top" "bottom";
}

#a {
  grid-area: top;
  display: grid;
  grid-template-rows: auto auto;
  grid-template-areas: "topa" "topb";
}
#aa{
  grid-area: topa;
  background: blue;
  color: white;
  top: 0px;
  position: sticky;
}
#ab{
  grid-area: topb;
  background: red;
  color: white;
}

#b {
  grid-area: bottom;
  background: grey;
}

HTML

<div class="ctnr">
  <div id='a'>
  <div id='aa'>First Line</div>
  <div id='ab'>Second Line</div>
  </div>
  <div id='b'>nav</div>
</div>

Рабочий пример проблемы: https://jsfiddle.net/ydg46cqh/

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