Как создавать адаптивные макеты без использования медиа-запросов CSS

Как создавать адаптивные макеты без использования медиазапросов — горячая тема с тех пор, как в мир вошли сетка и гибкий бокс с их способностью обеспечивать адаптивный поток вашего контента вокруг области просмотра.

Однако это также может быть пугающе, особенно для тех, кто только начинает осваивать передовые технологии, такие как grid и flexbox; то есть те из вас, кто может создавать красивые макеты, но не реагировать на них без медиа-запросов.

Застряли? Медиа-запросы — ваш спаситель

Оказывается, написание медиа-запросов было де-факто стандартом создания адаптивного дизайна до эры поплавков и чистых исправлений. Однако после запуска grid и flexbox люди придумали способы писать меньше медиа-запросов, сохраняя при этом такой отзывчивый вид своей страницы.

Итак, должен ли я больше писать медиа-запросы. ? Собственно говоря, нет, потому что медиа-запросы всегда будут рядом. Если вы где-то застряли, они всегда будут к вашим услугам, но вопрос в том, действительно ли их стоит писать в этом месте? Если вы не нашли другого способа сделать это, вот ваш @media запрос.

С чего начать?

Ну вот и все. открытый вопрос. В этом кадре я не буду рассказывать вам, как создать следующий Twitter или Facebook, скорее я дам вам простую аналогию того, что вам понадобится, чтобы сделать веб-сайты адаптивными. Помните о слове «простой», у вас это есть.

Я хочу, чтобы вы имели базовые знания о flex и/или сетка или даже представление о том, что это такое и как они работают, прежде чем продолжить. Вы всегда можете вернуться к этому кадру, когда узнаете.

Давайте займемся сеткой

Как настроить структуру сетки

Мы знаем, что нам нужно определить строки и/или столбцы для макета после написания display: grid . Поскольку мы делаем здесь адаптивный макет, который является динамическим, чтобы соответствовать различным окнам просмотра, он не может быть чем-то статичным в пикселях или ремах. Нет, здесь нам нужна магия сетки.

совет: (автоподгонка) также принимать целые числа, но это не сделает ваш макет адаптивным

Как определить наш макет сетки

Хотите верьте, хотите нет, но приведенная выше строка кода — это все, что нужно, чтобы настроить базовый адаптивный макет (например, приведенный ниже). Вам также не нужно определять какие-либо строки, поскольку сетка определяет это автоматически. Помимо этого, вы можете добавить пользовательский grid-gap , чтобы добавить пробел между синими.

Исходный макет сетки

Конечно, для этого здесь требуется некоторый дополнительный стиль, но я думаю, что сетка — самая сложная часть. Все, что мы сделали, — это стилизовали все элементы, чтобы придать им вид коробки!

  • Вывод
  • HTML
  • CSS (SCSS)
Попробуйте изменить размер вашего браузера чтобы увидеть эффект.

Почему автоматическая подгонка каждый раз?

Это не так много каждый раз, но есть также свойство под названием auto-fill , которое вы можете использовать в соответствии с вашими требованиями.

Разница между автозаполнением и автозаполнением

Автозаполнение создает больше столбцов своего размера при увеличении ширины области просмотра вместо того, чтобы соответствовать области просмотра, например a uto-fit делает. auto-fit растягивает элементы для получения полной ширины области просмотра. Итак, теперь вы можете использовать любой из них в соответствии с вашими требованиями.

Дополнительная информация об этом ниже:

  • Вывод
  • HTML
  • CSS (SCSS)
Попробуйте изменить размер браузера, чтобы увидеть эффект.

Давайте перейдем к Flex

Flexbox — это одномерный контейнер, который отлично подходит для макетов, которым нужен поток только в одном направлении. Таким образом, он определенно подходит для нашего варианта использования.

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

Свойство flex-wrap

Это строка, которая делает все, как должно быть. flex-wrap — это свойство, описанное для гибких контейнеров, которое определяет, будут ли гибкие элементы оставаться в одной строке или их можно переносить на несколько строк, т. е. отзывчивый стиль .

Свойства гибкости -wrap

Итак, в нашем случае мы собираемся использовать flex-wrap: wrap , чтобы обернуть элементы в гибкий контейнер, чтобы они выглядели блестящими и отзывчивыми. . Мы также будем использовать крошечный justify-content: space-around , чтобы придать ему более симметричный вид.

  • Вывод
  • HTML
  • CSS (SCSS)

Теперь вы узнали концепции создания потрясающих макетов. Начните с моего кода выше и просто возитесь с кодом. Затем замените co lored блоки с вашим содержимым. Идите медленно; вы доберетесь туда.

Помните, в вашем распоряжении всегда есть запросы @media , поэтому, если они вам действительно нужны, почувствуйте бесплатно для использования.

Оцените статью
nanomode.ru
Добавить комментарий