Макет Angular Flex: отзывчивый макет, сочетающий строку и столбец

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

На больших мониторах: Макет Angular Flex: отзывчивый макет, сочетающий строку и столбец

На средних мониторах: Макет Angular Flex: отзывчивый макет, сочетающий строку и столбец

На мобильном телефоне:

Макет Angular Flex: отзывчивый макет, сочетающий строку и столбец

Если я правильно понимаю, мне нужно использовать комбинацию rows и columns, как в приведенном ниже коде.

    <div class = "container" fxLayout = "row" fxLayout.xs = "column" fxLayoutWrap fxLayoutGap = "0.5%" fxLayoutAlign = "center">
      <div fxFlex = "25%"> ..code left out..</div>
      <div fxFlex = "25%"> ..code left out..</div>
      <div fxFlex = "25%"> ..code left out..</div>
      <div fxFlex = "25%"> ..code left out..</div>
   </div>

На маленьком экране макет меняется с row на column, что означает, что я реализовал приведенные выше примеры пользовательского интерфейса для больших и мобильных мониторов.

Вопрос: Как я могу реализовать пользовательский интерфейс для средних мониторов (см. Рисунок выше)? Не могу понять, как совместить row и column

Улучшение производительности загрузки с помощью 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 страниц, которые помогут...
10
0
13 285
2

Ответы 2

Вы можете попробовать так:

.container { // for desktop & tablet
    display: flex;
    flex-flow: row wrap;
}

.container div {
    width: 25%
}

@media for middle { // for tablet (mid)
    .container div {
        width: 50%
    }
}

@media for mobile { //for mobile
    .container {
        flex-direction: column;
    }

    .container div {
        width: 100%
    }
}

Надеюсь, это поможет, извините за не очень подробную информацию, но это просто быстрый совет с гибкостью.

Спасибо

Я бы минимизировал ваш код, перебирая массив элементов. И я изменил переход с md на sm вместо перехода прямо к xs, но это ваше предпочтение. Также вычитаю пробел в верстке (-0,5%).

<div class = "container" fxLayout = "row" fxLayout.sm = "column" fxLayoutWrap fxLayoutGap = "0.5%" fxLayoutAlign = "center">
 <ng-container *ngFor = "let item of items">
    <li
      fxFlex = "0 1 calc(25% - 0.5%)"
      fxFlex.lt-md = "0 1 calc(50% - 0.5%)"
      fxFlex.lt-sm = "100%">
   </li>
</ng-container>
   </div>

Привет, большое спасибо. Как я могу просто заполнить подэлементы, используя ту же структуру? как нижний край: 5 пикселей?

umutyerebakmaz 06.07.2020 13:00

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