Как разметить рабочее пространство с помощью CSS

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

но я просто не могу заставить его вести себя так, как я хочу, используя CSS.

Я пытался построить его с помощью CSS Grids, но вместо переполнения он расширяется за пределы максимальной ширины.

Как мне ограничить приложение до 100vh или какие другие подходы будут работать?

Что max-width вам подарили? ;)

deEr. 18.02.2024 20:18

Я не думаю, что у меня есть max-width, но я устанавливаю width тела на 100vw.

Allstreamer_ 18.02.2024 20:42

Возможно, вы попытаетесь поставить html, body {margin:0;padding:0} и max-width:100%;max-height:100%.

deEr. 18.02.2024 20:46
Улучшение производительности загрузки с помощью 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 страниц, которые помогут...
4
3
84
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

CSS-Grid — это то, что вам нужно. Просто укажите высоту контейнера сетки как 100vh

* {
  margin: 0;
  padding: 0;
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
}

 ::before,
 ::after {
  box-sizing: inherit;
}

.grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: auto auto 1fr 1fr;
  height: 100vh;
  text-align: center;
  gap: .25em;
}

.nav {
  grid-column: 1 / span 2;
  background: lightblue;
  padding: 1em;
}

main {
  grid-row: 2 / span 3;
  background: green;
}

.controls {
  background: lightgrey;
  padding: .5em;
}

.scroll {
  overflow: auto;
  border: 1px solid green;
}

.h {
  height: 500px;
  background: linear-gradient(red, blue);
}
<div class = "grid">
  <div class = "nav">Navbar</div>
  <main>Main</main>
  <div class = "controls">Controls</div>
  <div class = "scroll">
    <div class = "h"></div>
  </div>
  <div class = "scroll">
    <div class = "h"></div>
  </div>
</div>

Чувак, ты волшебник, я не мог понять это несколько дней, а ты просто зашел и сразу все понял, спасибо!

Allstreamer_ 18.02.2024 20:45

Годы практики. ☺

Paulie_D 18.02.2024 20:47

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