Разделение медиа запросов
При появлении медиа запросов разработчики начали использовать их при разработке адаптивных дизайнов для веб проектов. Обычное решение представляет собой различные наборы, которые изменяются для разных размеров рабочей области. Но можно использовать разделение стилей, вместо перезаписи.
Обычный вариант:
.box { background: #777; width: 100%; box-shadow: inset 0 1px 3px #333; } @media (min-width: 800px) { .box{ width: 760px; margin: 20px auto; box-shadow: none; /* reset */ } }
И вариант тех же стилей с разделением:
.box { background: #777; } @media (max-width: 799px) { .box { width: 100%; box-shadow: inset 0 1px 3px #333; } } @media (min-width: 800px) { .box{ width: 760px; margin: 20px auto; } }
Идея заключается в определении блока CSS со свойствами по умолчанию, общими для всех вариантов, а все остальные свойства разделить на различные медиа запросы. Например, для максимальной ширины 799px и для минимальной ширины 800px.
Конечно, получается 3 блока CSS вместо двух. Но такую структуру кода гораздо легче сопровождать и модифицировать. Добавление, удаление и замена свойств CSS не приводит к непредвиденным результатам. А в некоторых случаях такая структура приводит к сокращению размера кода, так как не нужно изменять некоторые свойства, которые не используются для конкретного медиа запроса.
Можно начинать разработку кода с версии без разделения. Это может быть вариант для десктопа или мобильного устройства. Например, для десктопа выше приведенный пример будет иметь вид:
.box { background: #777; width: 760px; margin: 20px auto; }
Затем, можно начинать разделять код просто перемещая свойства, которые различаются для каждого медиа запроса.
После чего, нужно провести "чистку" или "преобразование" кода -> проверить наличие свойств, которые являются одинаковыми для всех медиа запросов и выделить их в отдельный общий блок.
Недостаток: такая техника плохо работает для браузеров, которые не поддерживают медиа запросы. Для таких случаев можно использовать минимальный набор свойств в общем блоке (как резерв).
Также не нет необходимости разделение медиа запросов для каждого селектора, а только для тех, разница в которых для версий десктопа и мобильных устройств существенна. Если же вам нравится все разделять, то можно создать несколько разных файлов и использовать медиа запросы в для <link> , так что не нужно будет загружать неиспользуемые стили.
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/CVMrTpMIyiQ/lessons.php
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 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 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
Всегда храни верность своему начальнику - следующий, может быть еще хуже... |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.