Я не знаю, как отключить объявление после определенной точки останова - PullRequest
1 голос
/ 08 мая 2019

В основном классе есть grid-template-rows: 1fr 1fr, который делит весь раздел пополам (классы sidebar и content вложены в этот элемент класса main).Однако после достижения 900px оставляет пустое пространство и остается в верхней части раздела, оставляя другую половину пустой .

Я бы хотел, чтобы основной раздел заполнил оставшееся пространство послеДостигнув определенного предела, я застрял.

Это большая проблема, и это может принести мне первую в истории стажировку, поэтому я был бы очень благодарен, если бы кто-нибудь помог мне найти решение!

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  box-sizing: border-box;
}

.header,
.footer {
  height: 100px;
  background-color: #1A1C22;
}

.sidebar {
  background-color: #6C757D;
}

.content__box {
  background-color: #343A40;
}

.content {
  display: grid;
  grid-gap: 15px;
}

.main {
  min-height: 400px;
  height: calc(100vh - 200px);
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-gap: 15px;
  padding: 15px 0;
}

@media (min-width: 600px) {
  .content {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 900px) {
  main {
    grid-template-columns: 400px 1fr;
  }
}

@media (min-width: 1200px) {
  .content {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <link rel="stylesheet" href="/css/1.css">
  <title>Layout & RWD</title>
</head>

<body>
  <header class="header"></header>

  <main class="main">
    <section class="sidebar"></section>

    <section class="content">
      <article class="content__box"></article>
      <article class="content__box"></article>
      <article class="content__box"></article>
      <article class="content__box"></article>
      <article class="content__box"></article>
      <article class="content__box"></article>
    </section>
  </main>

  <footer class="footer"></footer>
</body>

</html>

1 Ответ

1 голос
/ 08 мая 2019

Свыше 900 пикселей у вас есть два столбца в дополнение к двум строкам, которые у вас есть из-за grid-template-rows: 1fr 1fr.Вы можете сбросить это значение до одного столбца, добавив grid-template-rows: auto с таргетингом выше 900 пикселей - см. Демонстрацию ниже:

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  box-sizing: border-box;
}

.header,
.footer {
  height: 100px;
  background-color: #1A1C22;
}

.sidebar {
  background-color: #6C757D;
}

.content__box {
  background-color: #343A40;
}

.content {
  display: grid;
  grid-gap: 15px;
}

.main {
  min-height: 400px;
  height: calc(100vh - 200px);
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-gap: 15px;
  padding: 15px 0;
}

@media (min-width: 600px) {
  .content {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 900px) {
  .main { /* changed from 'main' to '.main' for specificity reasons */
    grid-template-rows: auto; /* added */
    grid-template-columns: 400px 1fr;
  }
}

@media (min-width: 1200px) {
  .content {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
<header class="header"></header>
<main class="main">
  <section class="sidebar"></section>
  <section class="content">
    <article class="content__box"></article>
    <article class="content__box"></article>
    <article class="content__box"></article>
    <article class="content__box"></article>
    <article class="content__box"></article>
    <article class="content__box"></article>
  </section>
</main>
<footer class="footer"></footer>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...