Поскольку существует много способов реализации CSS3 Media Queries на веб-сайте, я хотел бы знать, какой из них рекомендуется более опытным веб-дизайнерам. Я могу представить пару:
1. Все в одном листе стилей
Существует стиль по умолчанию, который применяется ко всем ширинам экрана и медиа-запросам, которые применяются только для уменьшения ширины экрана и перезаписывают по умолчанию все в одном файле. Например:
HTML
<link rel="stylesheet" href="main.css">
main.css
article
{
width: 1000px;
}
@media only screen and (max-width: 1000px)
{
article
{
width: 700px;
}
}
(помните, что это всего лишь пример)
Плюсы:
- Стиль по умолчанию применяется к старым браузерам.
- Требуется только один запрос HTTP
Минусы:
- Получает беспорядок с большим количеством кода
- Некоторым браузерам придется загружать код, который они не будут применять.
2. Отдельные таблицы стилей
Существуют отдельные таблицы стилей, содержащие полный код, предназначенный для каждой ширины экрана. Браузеры загружают только тот, который применяется. Например:
HTML
<link rel="stylesheet" href="large-screen.css" media="screen and (min-width: 1001px)"> /*Also older browsers*/
<link rel="stylesheet" href="small-screen.css" media="only screen and (max-width: 1000px)">
большой screen.css
article
{
width: 1000px;
}
малые screen.css
article
{
width: 700px;
}
Плюсы:
- Аккуратный и организованный
- Требуется только один запрос HTTP
- Браузеры загружают только то, что им нужно.
Минусы:
- (Вот почему я не решаюсь использовать это:) Когда кто-то делает изменение, которое применяется ко всем ширинам экрана, это изменение должно быть скопировано и вставлено в соответствующие точки во всех таблицах стилей.
3. Отдельные таблицы стилей, один глобальный список стилей
То же, что и # 1, но глобальный стиль и медиа-запросы находятся в отдельных таблицах стилей. Например:
HTML
<link rel="stylesheet" href="main.css">
<link rel="stylesheet" href="small-screen.css" media="only screen and (max-width: 1300px)">
main.css
article
{
width: 1000px;
}
малые screen.css
article
{
width: 700px;
}
Плюсы:
- Также опрятный и управляемый
- У вас нет проблемы С# 2 при внесении глобальных изменений.
- Глобальный стиль применяется к старым браузерам.
Минусы:
- Меньшая ширина экрана требует 2 HTTP-запроса.
Это все, о чем я могу думать. Как управлять медиа-запросами?
Спасибо за любые ответы.