HTML-центр с гибкой компоновкой CCS

Я использую этот пример codepen как основу простого сайта.

Это работает хорошо, но я бы хотел, чтобы макет располагался по центру страницы, а не на всю высоту. Пожалуйста, смотрите пример изображения.

Есть ли способ сделать это и сохранить гибкость страницы?

Я пробовал добавлять height или max-height к обертке, но это не имело никакого значения.

Спасибо

уже есть несколько вопросов с ответчиком о том, как вертикально центрировать div или элементы на SO: stackoverflow.com/questions/396145/… - что у вас там не работает? гибкость с вертикальным центром является широким термином. Ни в коем случае на отзывчивость не влияют центрирующие элементы.

tacoshy 12.12.2020 12:57

попробуйте посмотреть это: stackoverflow.com/questions/6464592/…

ppwater 12.12.2020 13:00
Улучшение производительности загрузки с помощью 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 страниц, которые помогут...
1
2
52
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Итак, вы хотите использовать align-items: center;. Но вы должны выбрать, где его использовать. Если вы хотите, чтобы боковая панель оставалась такой, какая она есть, вам следует немного изменить html-код:

<div class = "content">
   <div class = "inner">
      Actual content goes here.
   </div>
</div>

и в css:

.content {
  display: flex;
  justify-content: center;
}

Теперь желтый фон останется прежним, но текст будет центрирован по вертикали.

Если вы поместите display: flex; и justify-content: center; на .main, и боковая панель, и контент будут центрированы. Тогда это будет выглядеть так:

HTML:

<div class = "content">
   Actual content goes here.
</div>

и CSS:

.main {
    flex: 1;
    display:flex;
    align-items:center;
}

Обновлено: Поскольку я неправильно понял вопрос, я отвечу на него здесь, но я оставлю часть выше, потому что кто-то может найти ее полезной.

Итак, вам нужно будет изменить стиль для .wrap. Поскольку у вас установлено flex-direction: column;, чтобы центрировать его по вертикали, вы должны использовать justify-content: center; вместо align-items: center, потому что теперь главная ось является вертикальной. Так:

.wrap {
    display: flex;
    ...
    justify-content: center;
}
.main {
    max-height: 500px; /* set whatever you want */
    ...
}

он говорит не о боковой панели, а о всей странице, говоря о height и max-height. Таким образом, единственный логический вывод состоит в том, что он пытается центрировать весь элемент по вертикали.

tacoshy 12.12.2020 13:04

Хорошо, тогда я отредактирую свой ответ.

Karol 12.12.2020 13:06

Это вся страница, которую я хотел бы центрировать, а не ее содержимое. Codepen показывает страницу, занимающую всю высоту экрана. Мое изображение является примером того, что я пытаюсь сделать. Спасибо

Rocket 12.12.2020 13:08

хорошо, позвольте мне отредактировать мой ответ.

Karol 12.12.2020 13:12

используйте свойство align-items для этой задачи

.main {
    flex: 1;
    display:flex;
    align-items:center;
}

Это также будет центрировать боковую панель, и я не думаю, что это то, что он ищет.

Karol 12.12.2020 13:03

он говорит обо всей странице, говоря о height и max-height. Таким образом, единственный логический вывод состоит в том, что он пытается центрировать весь элемент по вертикали.

tacoshy 12.12.2020 13:05

@tacoshy - исправьте всю страницу, которую я хотел бы центрировать. Как мне это сделать ?

Rocket 12.12.2020 13:07

@Rocket у вас есть 2 комментария под вашими вопросами со ссылками на решения. Особенно последний сможет вам легко помочь

tacoshy 12.12.2020 13:12

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

Похожие вопросы