Пропорциональная модульная сетка
При работе над адаптивным дизайном всегда возникает вопрос с гибкими сетками. Очевидно, что если размер экрана становится больше, шаблон должен изменяться. Как это сделать наилучшим образом?
Проблема
Множество решений, используемых на текущий момент, содержат громоздкий код для переопределения свойств CSS в точках излома. Особенно актуальным такой подход становится при использовании полей, выраженных в процентах – 10% для мобильного устройства существенно меньше, чем 10% для монитора. Вложенные колонки также трудно реализовать, так как придется провести ряд вычислений чтобы выровнять поля. Процесс несколько упрощается при использовании препроцессора Less и Sass, которые делают вычисления для вас, но использование цифр может утомить.
Решение
Воспользуемся свойством CSS box-sizing
для решения, которое позволит использовать фиксированные поля (ems/rems)
вместе с резиновыми колонками. Расстояние между колонками будет оставаться идентичным точке излома в соответствии с базой font-size
.
Колонки, которые определяются пропорционально (например, одна вторая, две третьих) могут использоваться столько раз, сколько нужно, даже для вложенных схем.
Как работает решение
В решении нет класса class="first"
для добавления к колонке, так как поле для первой колонки имеет отрицательное значение:
.grid-wrap { margin-left: -3em; /* такое же как и поле */ overflow: hidden; clear: both; } .grid-col { float: left; padding-left: 3em; /* поле между двумя колонками */ width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
Классы, которые используются для каждой колонки для определения пропорций, устанавливаются для каждой точки излома:
<div class="grid-wrap"> <div class="grid-col bp1-col-one-half bp2-col-two-thirds"> <p>Колонка 1</p> </div> <div class="grid-col bp1-col-one-half bp2-col-one-third"> <p>Колонка 2</p> </div> </div>
В данном примере каждая колонка grid-col
начинает использоваться как единственная колонка. Класс bp1-col-one-half
означает, что колонка становится половинкой в точке излома 1. Класс bp2-col-two-thirds
означает, что колонка станет шириной две трети в точке излома 2. И так далее.
Все просто, одна система модульной сетки, один набор классов для всех случаев!
bp2-col
просто префикс в точке излома. Можно использовать что угодно, но номер точки излома более нагляден для разработчика, чем имя устройства, например tablet-col
.
Internet Explorer
Очевидно, что IE8 и старше не поддерживает @media
, а IE7 и старше не поддерживает box-sizing
. Но в комплект исходников входит специальная таблица стилей для IE, в которой повторяется содержание медиа запросов (для IE8) и немного модифицируется сетка для IE7 и страше. Оба варианта имеют фиксированную ширину 960px, так как браузеры используются на десктопах.
Что включено в пример
Пример состоит из шести частей с разной конфигурацией сетки, включая блочный вариант и маленькие поля (только добавление одного класса к .grid-wrap
). Файлы SASS облегчают компиляцию вашей собственной сетки с помощью изменения одного макроса для точки излома.
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/6GnOFEyrl0Y/lessons.php
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-05-06 » Как настраивать конверсионные стратегии: работа над ошибками
- 2024-04-22 » Комментирование кода и генерация документации в PHP
- 2024-04-22 » SEO в России и на Западе: в чем основные отличия
- 2024-04-22 » SEO для международного масштабирования
- 2024-04-22 » Как использовать XML-карты для продвижения сайта
- 2024-04-22 » Цифровой маркетинг: инструменты для продвижения и рекламы в 2024 году
- 2024-04-22 » Что такое CSS-модули и зачем они нам?
- 2024-04-17 » 23 сервиса для эффективного экспресс-аудита любого сайта
- 2024-04-08 » Яндекс переходит на новую версию Wordstat
- 2024-04-08 » Яндекс интегрировал в свой облачный сервис эмпатичную нейросеть
- 2024-04-08 » Новая версия нейросети Claude превзошла по мощности аналоги Google и OpenAI
- 2024-04-08 » Как пользоваться GPT 4 и Claude бесплатно и без VPN
- 2024-03-13 » Стратегии SEO на 2024 год
- 2024-03-13 » Как использовать анимацию с помощью JavaScript-библиотеки GSAP
- 2024-03-13 » Использование GSAP 3 для веб-анимации
- 2024-03-13 » Cогласование топографической съёмки с эксплуатирующими организациями
- 2024-02-19 » Теряются лиды? Как настроить сквозную аналитику
- 2024-02-17 » Мерч и IT: на что обратить внимание в 2024 году
- 2024-02-16 » Копируем с RSync: основные примеры синхронизации файлов
- 2024-02-15 » Лучшие noCode AI платформы для создания диалоговых ботов
- 2024-02-14 » Факторы ранжирования Google 2024 — исследование Semrush
- 2024-02-12 » Перенос сайта на другой хостинг
- 2024-02-05 » В России сформирован реестр хостинг-провайдеров
- 2024-02-04 » Использование SSH для подключения к удаленному серверу Ubuntu
- 2024-02-03 » Подключаемся к серверу за NAT при помощи туннеля SSH. Простая и понятная инструкция
- 2024-02-02 » Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам
- 2024-02-01 » GitLab CI Pipeline. Запуск сценария через SSH на удаленном сервере
- 2024-01-29 » Introduction to GitLab’s CI/CD for Continuous Deployments
- 2024-01-26 » Настройка GitLab CI/CD
- 2024-01-25 » Установка shell gitlab runner
Бог тянет за одну руку, а черт - за обе ноги Буш Вильгельм - (1832-1908) - немецкий поэт и художник |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.