CSS-сетка | Как автоматически подогнать столбцы разного размера?

Я пытаюсь использовать сетку CSS (впервые), я борюсь с некоторыми основными проблемами.

Я создаю нижний колонтитул с тремя компонентами.

  #footer-content {
    position: relative;
    margin: 0 auto;
    padding: 0 20px;
    max-width: $max-width;
    width: 100%;
    height: 100%;
    color: white;

    display: grid;
    grid-template-columns: 12% 12% 76%;
}

Для мобильных устройств:

@media only screen and (max-width: 800px) {
  #footer-content {
      grid-template-columns: 50% 50% 100%;
    }
}

Проблема с приведенным выше кодом: третий элемент (ширина 100%) не перемещается на следующую строку, а появляется за пределами экрана.

Использование grid-template-columns: repeat(auto-fit, 50% 50% 100%); не работает.

Использование grid-template-columns: repeat(auto-fit, 50%); работает: третий элемент сдвинут вниз но имеет только ширину 50% вместо 100%.

Вопрос: Как использовать сетку CSS для автоматического подбора трех столбцов разного размера?

просто определите только один столбец grid-template-columns: auto;

Temani Afif 08.04.2019 17:55
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
2
1
2 281
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Столбцы сетки не переносятся, поэтому это grid-template-columns: 50% 50% 100%; не имеет смысла для столбцов два. Вы бы определили ДВА столбца и сказали третьему элементу охватить их оба в следующей строке.

.box {
  height: 150px;
  background: lightblue;
  border: 1px solid grey;
}

#footer-content {
  display: grid;
  grid-template-columns: 50% 50%;
  grid-gap: .25em;
}

.box:nth-child(3) {
  grid-column: span 2;
}
<div id = "footer-content">
  <div class = "box"></div>
  <div class = "box"></div>
  <div class = "box"></div>
</div>

Другие вопросы по теме