Пропорциональная модульная сетка
При работе над адаптивным дизайном всегда возникает вопрос с гибкими сетками. Очевидно, что если размер экрана становится больше, шаблон должен изменяться. Как это сделать наилучшим образом?
Проблема
Множество решений, используемых на текущий момент, содержат громоздкий код для переопределения свойств 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
Новые статьи и публикации
- 2025-03-14 » SPF-запись
- 2025-03-07 » SEO на маркетплейсах: как оптимизировать карточку товара для поисковой выдачи
- 2025-02-18 » Топ-10 бесплатных нейросетей для генерации изображений: лучшие ии генераторы 2024 года
- 2025-02-11 » Критическая уязвимость в 1С-Битрикс
- 2025-02-11 » Google Search Console: руководство для начинающих вебмастеров
- 2025-02-11 » Методы измерения результативности рекламных кампаний: плюсы и минусы
- 2025-02-11 » Тренды SEO в 2025 году
- 2025-02-10 » Свой Google в локалке. Ищем иголку в стоге сена
- 2025-01-29 » SEO — это комплексная работа. Шесть главных факторов ранжирования сайтов
- 2025-01-29 » Гайд для главной страницы e-commerce сайта: как оформить, чтобы повысить конверсию
- 2025-01-20 » Krea AI выпустила бесплатную функцию преобразования изображений в 3D-объекты — их можно вращать и вписывать в фотографии
- 2025-01-19 » Отзывы на Яндекс Картах: как пройти модерацию
- 2025-01-15 » Топ-6 лучших российских нейросетей, в которых можно генерировать тексты и изображения бесплатно и без VPN
- 2025-01-14 » 15 бесплатных способов узнать, чем интересуется ваша аудитория
- 2025-01-11 » Бездепозитные бонусы в казино за регистрацию с выводом: особенности и возможности получения
- 2025-01-09 » Новая модель LAM способна выполнять задачи в Word
- 2024-12-26 » Универсальный промпт для нейросети: как выжать максимум из ChatGPT, YandexGPT, Gemini, Claude в 2025
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
Бог тянет за одну руку, а черт - за обе ноги Буш Вильгельм - (1832-1908) - немецкий поэт и художник |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.
Или напишите нам в WhatsApp
Или напишите нам в WhatsApp