1-я ячейка сетки расширяется на 100% - PullRequest
2 голосов
/ 19 марта 2019

У меня есть следующая сетка, которую я хочу охватить точно по высоте экрана - не меньше, не больше.В сетке у меня есть фиксированный заголовок (один), фиксированный нижний колонтитул (три) и прокручиваемый контент (два)

.grid-container {
    display: grid;
    grid-template-areas:
        "one"
        "two"
        "three"
        ;
    grid-template-rows: 33px 1fr 34px;
    height: 100vh;
}

Что происходит, если содержимое внутри two становится слишком большим,высота всей сетки теперь больше, чем область просмотра.В результате мой нижний колонтитул выталкивается вниз, а вместо этого я хотел бы прокрутить содержимое и сохранить нижний колонтитул там, где он есть.

Я знаю, что могу добиться того, чего хочу, с помощью position: fixed, но этоурезанный пример более сложной сетки.Любая помощь приветствуется, я предпочитаю придерживаться подхода сетки, если это возможно.Я собрал скрипку для вашего удобства.Спасибо!

https://jsfiddle.net/x6stfc01/1/

HTML Для вашего удобства

<div class="grid-container">
  <div class="one"></div>
  <div class="two">
    Start of Content
    <div style="height: 5000px"></div>
    End of Content
  </div>
  <div class="three"></div>
</div>    

1 Ответ

2 голосов
/ 19 марта 2019

Вы можете просто добавить overflow-y: scroll к элементу two или overflow-y: auto (еще лучше)

body {
  margin: 0;
}

.grid-container {
  display: grid;
  grid-template-areas: "one" "two" "three";
  grid-template-rows: 33px 1fr 34px;
  height: 100vh;
}

.one {
  grid-area: one;
  background-color: blue;
}

.two {
  grid-area: two;
  background-color: yellow;
  overflow-y: scroll;
}

.three {
  grid-area: three;
  background-color: red;
}
<html>

<head>
</head>

<body>
  <div class="grid-container">
    <div class="one"></div>
    <div class="two">
      Start of Content
      <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>      End of Content
    </div>
    <div class="three"></div>
  </div>
</body>

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