Использование медиавыражений — CSS | MDN
Медиавыражения используются в тех случаях , когда нужно применить разные CSS-стили, для разных устройств по типу отображения (например: для принтера, монитора или смартфона), а также конкретных характеристик устройства (например: ширины окна просмотра браузера), или внешней среды (например: внешнее освещение). Учитывая огромное количество подключаемых к интернету устройств, медиавыражения являются очень важным инструментом при создании веб-сайтов и приложений, которые будут правильно работать на всех доступных устройствах, которые есть у ваших пользователей.
Медиавыражения позволяют адаптировать страницу для различных типов устройств, таких как: принтеры, речевых браузеров, устройств Брайля, телевизоров и так далее. Например это правило для принтеров:
@media print { ... }
Вы также можете писать правила сразу для нескольких устройств. Например этот @media написан сразу для экранов и принтеров:
@media screen, print { ... }
Список устройств вы можете найти перейдя по этой ссылке (en-US). Но для задания более детальных и узконаправленных правил вам нужно просмотреть следующий раздел.
Media features (en-US) описывают некие характеристики определённого user agent, устройства вывода или окружения. Например, вы можете применить выбранные стили только для широкоэкранных мониторов, компьютеров с мышью, или для устройств, которые используются в условиях слабой освещённости. В примере ниже стили будут применены только когда основное устройство ввода пользователя (например мышь) будет расположено над элементами:
@media (hover: hover) { ... }
Многие медиавыражения представляют собой функцию диапазона и имеют префиксы «min-» или «max-«. Минимальное значение и максимальное значение условия, соответственно. Например этот CSS-код применяется только если ширина viewport меньше или равна 12450px:
@media (max-width: 12450px) { . .. }
Если вы создаёте медиавыражение без указания значения, вложенные стили будут использоваться до тех пор, пока значение функции не равно нулю. Например, этот CSS будет применяться к любому устройству с цветным экраном:
@media (color) { ... }
Если функция не применима к устройству, на котором работает браузер, выражения, включающие эту функцию, всегда ложны. Например, стили, вложенные в следующий запрос, никогда не будут использоваться, потому что ни одно речевое устройство не имеет формат экрана:
@media speech and (aspect-ratio: 11/5) { ... }
Дополнительные примеры медиавыражений, смотрите на справочной странице для каждой конкретной функции.
Иногда вы хотите создать медиавыражение, включающее в себя несколько условий. В таком случае применяются логические операторы: not
, and
, and only
. Кроме того, вы можете объединить несколько медиавыражений в список через запятую; это позволяет применять одни и те же стили в разных ситуациях.
В прошлом примере мы видели, как применяется оператор and
для группировки type и функции. Оператор and
также может комбинировать несколько функций в одно медиавыражение. Между тем, оператор not отрицает медиавыражение, полностью инвертируя его значение. Оператор only работает тогда, когда применяется всё выражение, не позволяя старым браузерам применять стили.
Примечание: In most cases, the all
media type is used by default when no other type is specified. However, if you use the
or only
operators, you must explicitly specify a media type.
and
The and
keyword combines a media feature with a media type or other media features. This example combines two media features to restrict styles to landscape-oriented devices with a width of at least 30 ems:
@media (min-width: 30em) and (orientation: landscape) { ... }
To limit the styles to devices with a screen, you can chain the media features to the screen
media type:
@media screen and (min-width: 30em) and (orientation: landscape) { . .. }
comma-separated lists
You can use a comma-separated list to apply styles when the user’s device matches any one of various media types, features, or states. For instance, the following rule will apply its styles if the user’s device has either a minimum height of 680px or is a screen device in portrait mode:
@media (min-height: 680px), screen and (orientation: portrait) { ... }
Taking the above example, if the user had a printer with a page height of 800px, the media statement would return true because the first query would apply. Likewise, if the user were on a smartphone in portrait mode with a viewport height of 480px, the second query would apply and the media statement would still return true.
not
not
keyword inverts the meaning of an entire media query. It will only negate the specific media query it is applied to. (Thus, it will not apply to every media query in a comma-separated list of media queries. ) The not
keyword can’t be used to negate an individual feature query, only an entire media query. The not
is evaluated last in the following query:@media not all and (monochrome) { ... }
… so that the above query is evaluated like this:
@media not (all and (monochrome)) { ... }
… rather than like this:
@media (not all) and (monochrome) { ... }
As another example, the following media query:
@media not screen and (color), print and (color) { ... }
… is evaluated like this:
@media (not (screen and (color))), print and (color) { ... }
only
The only
keyword prevents older browsers that do not support media queries with media features from applying the given styles. It has no effect on modern browsers.
<link rel="stylesheet" media="only screen and (color)" href="modern-styles.css" />
- Media types (en-US)
- Media features (en-US)
- Testing media queries using code (en-US)
- CSS Animations Between Media Queries
- Extended Mozilla media features (en-US)
- Extended WebKit media features (en-US)
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
Want to get more involved?
Learn how to contribute.
This page was last modified on by MDN contributors.
Медиа-запросы | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
9.0+ | 1.0+ | 10.0+ | 4.0+ | 3.6+ | 2.0+ | 2.0+ |
Краткая информация
Значение по умолчанию | all |
---|---|
Ссылка на спецификацию | http://www.w3.org/TR/css3-mediaqueries/#syntax |
Версии CSS
CSS 1 | CSS 2 | CSS 2.1 | CSS 3 |
---|---|---|---|
Описание
Наряду с типами носителей в CSS3 включена поддержка различных технических параметров устройств, на основе которых требуется загружать те или иные стили. К примеру, можно определить смартфон с максимальным разрешением 640 пикселов и для него установить одни стилевые свойства, а для остальных устройств другие. Также можно выявить различные характеристики вроде наличия монохромного экрана, ориентации (портретная или альбомная) и др. Все характеристики легко комбинируются, поэтому допустимо задать стиль только для устройств в альбомной ориентации с заданным разрешением экрана.
Возможности медиа-запросов не ограничиваются выявлением мобильных устройств, с их помощью можно создавать адаптивный макет. Такой макет подстраивается под разрешение монитора и окна браузера, меняя при необходимости ширину макета, число колонок, размеры изображений и текста. Медиа-запросы ограничивают ширину макета и при достижении этого значения (к примеру за счёт уменьшения окна или при просмотре на устройстве с указанным размером) уже применяется другой стиль.
Синтаксис
Все запросы начинаются с правила @media, после чего следует условие, в котором используются типы носителей, логические операторы и медиа-функции. Типы носителей перечислены в табл. 1.
Тип | Описание |
---|---|
all | Все типы. Это значение используется по умолчанию. |
braille | Устройства, основанные на системе Брайля, которые предназначены для чтения слепыми людьми. |
embossed | Принтеры, использующие для печати систему Брайля. |
handheld | Смартфоны и аналогичные им аппараты. |
Принтеры и другие печатающие устройства. | |
projection | Проекторы. |
screen | Экран монитора. |
speech | Речевые синтезаторы, а также программы для воспроизведения текста вслух. Сюда, например, можно отнести речевые браузеры. |
Устройства с фиксированным размером символов (телетайпы, терминалы, устройства с ограничениями дисплея). | |
tv | Телевизоры. |
Логические операторы, применяемые в медиа-запросах
and
Логическое И. Указывается для объединения нескольких условий.
Пример. Стиль для всех цветных устройств
@media all and (color) { ... }
not
Логическое НЕ. Указывается для отрицания условия.
Пример. Стиль для всех устройств кроме смартфонов
@media all and (not handheld) { ... }
Оператор not имеет низкий приоритет и оценивается в запросе последним, поэтому выражение
@media not all and (color) { ... }
следует понимать как
@media not (all and (color)) { ... }
а не
@media (not all) and (color) { ... }
only
Применяется для старых браузеров, которые не поддерживают медиа-запросы.
Пример. Стиль для новых браузеров
@media only all and (not handheld) { ... }
В списке нет логического оператора ИЛИ, его роль выполняет запятая. Перечисление нескольких условий через запятую говорит о том, что если хотя бы одно условие выполняется, то стиль будет применён.
Пример. Стиль для устройств с альбомной ориентацией или минимальной шириной 480 пикселов.
@media all and (orientation: landscape), all and (min-width: 480px) { ... }
Также при использовании операторов следует указывать скобки, чтобы менять приоритет операций.
Медиа-функции
Медиа-функции задают технические характеристики устройства, на котором отображается документ. Стиль выполняется в том случае, если запрос возвращает истину, иными словами, указанные условия выполняются.
Большинство функций содержат приставку min- и max-, которая соответствуют минимальному и максимальному значению. Так, max-width: 400px означает, что ширина окна браузера меньше 400 пикселов, а min-width: 1000px, наоборот, сообщает, что ширина окна больше 1000 пикселов.
aspect-ratio (min-aspect-ratio, max-aspect-ratio)
Тип носителя: handheld, print, projection, screen, tty, tv
Значение: целое число/целое число
Определяет соотношение ширины и высоты отображаемой области устройства. Значение указывается в виде двух целых чисел разделяемых между собой слэшем (/).
color (min-color, max-color)
Тип носителя: handheld, print, projection, screen, tty, tv
Значение: целое число
Определяет число бит на канал цвета. К примеру, значение 3 означает, что красный, зелёный и синий канал могут отображать 23 цветов каждый, что в общем составляет 512 цветов (8×8×8). Если значение не указано, тогда проверяется что устройство цветное. В примере 1 показана такая проверка.
Пример 1. Стиль для цветных устройств
@media screen and (color) { /* Для цветных экранов */ body { background: #fc0; } } @media screen and (min-color:3) { /* Минимум 512 цветов */ body { background: #ccc; } }
color-index (min-color-index, max-color-index)
Тип носителя: handheld, print, projection, screen, tty, tv
Значение: целое число
Определяет количество цветов, которое поддерживает устройство. В примере 2 показан стиль для экранов отображающих не меньше 256 цветов.
Пример 2. Цветной дисплей
@media all and (min-color-index: 256) { . .. }
device-aspect-ratio (min-device-aspect-ratio, max-device-aspect-ratio)
Тип носителя: handheld, print, projection, screen, tty, tv
Значение: целое число/целое число
Определяет соотношение сторон экрана устройства. Значение указывается в виде двух целых чисел разделяемых между собой слэшем (/). В примере 3 показано, как установить стиль для экранов с соотношением сторон 16:9 и более.
Пример 3. «Киношное» соотношение
@media screen and (min-device-aspect-ratio: 16/9) { ... }
device-height (min-device-height, max-device-height)
Тип носителя: все кроме speech
Значение: размер
Определяет всю доступную высоту экрана устройства или печатной страницы.
device-width (min-device-width, max-device-width)
Тип носителя: все кроме speech
Значение: размер
Определяет всю доступную ширину экрана устройства или печатной страницы. В примере 4 в зависимости от разрешения монитора устанавливается ширина слоя. Так, для значения 1280 пикселов ширина макета задаётся как 1100px.
Пример 4. Ширина макета
HTML5CSS3IECrOpSaFx
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Ширина макета</title> <style> div { padding: 10px; background: #e8bfad; margin: auto; } @media screen and (min-device-width: 1600px) { div {width: 1500px;} } @media screen and (device-width: 1280px) { div {width: 1100px;} } @media screen and (device-width: 1024px) { div {width: 980px;} } </style> </head> <body> <div> Диабаз, формируя аномальные геохимические ряды, сменяет известняк, образуя на границе с Западно-Карельским поднятием своеобразную систему грабенов. </div> </body> </html>
grid
Тип носителя: all
Значение: нет
Определяет, что это устройство с фиксированным размером символов. Размеры букв на таком устройстве занимают одинаковую ширину и высоту и выстраиваются по заданной сетке. К подобным устройствам можно отнести терминалы, а также телефоны, которые поддерживают только один шрифт.
Если вам требуется форматировать текст, не указывайте его размер в пикселах, для подобных устройств используется единица em (пример 5).
Пример 5. Размер букв
HTML5CSS3IECrOpSaFx
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Стиль для бабушкофона</title> <style> @media handheld and (grid) and (max-width: 15em) { body { font-size: 2em; } } </style> </head> <body> <p>Привет! Как дела? Как сажа бела?</p> </body> </html>
height (min-height, max-height)
Тип носителя: все кроме speech
Значение: размер
Высота отображаемой области.
monochrome (min-monochrome, max-monochrome)
Тип носителя: handheld, print, projection, screen, tty, tv
Значение: целое число
Определяет, что устройство монохромное. Если указано число, то оно обозначает число бит на пиксел. Так, значение 8 равнозначно 256 оттенкам серого (или другого цвета). В примере 6 показан стиль для монохромного и цветного принтера.
Пример 6. Стиль для принтера
@media print and (monochrome) { body { font-family: Times, 'Times New Roman', serif; }
h2, h3, p { color: black; } } @media print and (color) { body { font-family: Arial, Verdana, sans-serif; }
h2, h3, p { color: #556b2f; } }
orientation
Тип носителя: handheld, print, projection, screen, tty, tv
Значение: landscape | portrait
Определяет, что устройство находится в альбомном режиме (ширина больше высоты) или портретном (ширина меньше высоты).
В примере 7 устанавливается разная фоновая картинка в случае альбомной (landscape) или портретной ориентации (portrait).
Пример 7. Использование ориентации устройства
@media screen and (orientation: landscape) { #logo { background: url(logo1.png) no-repeat; } } @media screen and (orientation: portrait) { #logo { background: url(logo2. png) no-repeat; } }
resolution (min-resolution, max-resolution)
Тип носителя: handheld, print, projection, screen, tv
Значение: разрешение в dpi (точек на дюйм) или dpcm (точек на сантиметр)
Определяет разрешение устройства, например, принтера. В примере 8 стиль будет работать для принтера с минимальным разрешением 300 точек на дюйм.
Пример 8. Разрешение принтера
@media print and (min-resolution: 300dpi) { ... }
scan
Тип носителя: tv
Значение:
interlace | progressive
Определяет тип развертки телевизора — череcстрочная (interlace) или прогрессивная (progressive). При чересстрочной развёртке телевизор вначале показывает нечётные строки кадра, затем чётные, что позволяет сократить передаваемые данные. В прогрессивной развёртке кадр передаётся и показывается целиком.
width (min-width, max-width)
Тип носителя: все кроме speech
Значение: размер
Описывает ширину отображаемой области. Это может быть окно браузера или печатная страница. В примере 9 при уменьшении окна до 600 пикселов и меньше меняется цвет фона веб-страницы.
Пример 9. Использование max-width
HTML5CSS3IECrOpSaFx
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Ширина страницы</title> <style> body { background: #f0f0f0; } @media screen and (max-width: 600px) { body { background: #fc0; } } </style> </head> <body> <p>Пока магма остается в камере, мусковит сингонально поднимает шток, в то время как значения максимумов изменяются в широких пределах. </p> </body> </html>
Media Queries медиа запросы CSS уроки для начинающих академия
❮ Назад Дальше ❯
CSS Media запросы-больше примеров
Рассмотрим еще несколько примеров использования медиа-запросов.
Мультимедийные запросы — это популярный способ доставки адаптированной таблицы стилей к различным устройствам. Чтобы продемонстрировать простой пример, мы можем изменить цвет фона для различных устройств:
Пример
/* Set the background color of body to tan */
body {
background-color: tan;
}
/* On
screens that are 992px or less, set the background color to blue */
@media
screen and (max-width: 992px) {
body {
background-color: blue;
}
}
/* On screens that are 600px or less,
set the
background color to olive */
@media screen and (max-width: 600px) {
body {
background-color: olive;
}
}
Вы удивляетесь, почему мы используем именно 992пкс и 600px? Это то, что мы называем «типичными точками останова» для устройств. Более подробную информацию о типичных точках останова можно прочитать в руководстве по адаптивному веб-дизайну.
Запросы мультимедиа для меню
В этом примере мы используем мультимедийные запросы для создания адаптивного меню навигации, которое изменяется в дизайне на разных размерах экрана.
Large screens:
Home Link 1 Link 2 Link 3
Small screens:
Home Link 1 Link 2 Link 3
Пример
/* The navbar container */
.topnav {
overflow: hidden;
background-color: #333;
}
/* Navbar links */
.topnav a {
float:
left;
display: block;
color:
white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
/* On screens that are 600px wide or less, make the menu links stack on top
of each other instead of next to each other */
@media screen and (max-width: 600px) {
.topnav a {
float: none;
width:
100%;
}
}
Запросы носителей для столбцов
Обычное использование мультимедийных запросов — это создание гибкого макета. В этом примере мы создаем макет, который варьируется от четырех, двух и полной ширины столбцов, в зависимости от различных размеров экрана:
Большие экраны:
Средние экраны:
Малые экраны:
Пример
/* Create four equal columns that floats next to each other */
.column {
float: left;
width: 25%;
}
/* On screens that are 992px
wide or less, go from
four columns to two columns */
@media screen and (max-width: 992px) {
.column {
width: 50%;
}
}
/* On screens that are
600px wide or less, make
the columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
.column {
width:
100%;
}
}
Совет: Более современный способ создания макетов столбцов — использование CSS Flexbox (см. пример ниже). Тем не менее он не поддерживается в Internet Explorer 10 и более ранних версиях. Если вам необходима поддержка IE6-10, используйте float (как показано выше).
Чтобы узнать больше о модуле макета гибкой коробки, прочитайте нашу главу CSS Flexbox.
Чтобы узнать больше о адаптивном веб-дизайне, прочитайте наш отзывчивый веб-дизайн учебника.
Пример
/* Container for flexboxes */
.row {
display: flex;
flex-wrap: wrap;
}
/* Create four equal columns */
.column {
flex: 25%;
padding: 20px;
}
/* On screens that are 992px wide or less, go from
four columns to two columns */
@media screen and (max-width: 992px) {
.column {
flex: 50%;
}
}
/* On screens that are 600px wide or less, make
the columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
.row {
flex-direction: column;
}
}
Скрытие элементов с помощью запросов мультимедиа
Другим распространенным использованием мультимедийных запросов является скрытие элементов на различных размерах экрана:
Я буду скрыта на маленьких экранах.
Пример
/* If the screen size is 600px wide or less, hide the element */
@media
screen and (max-width: 600px) {
div.example {
display: none;
}
}
Изменение размера шрифта с помощью запросов мультимедиа
Также можно использовать запросы мультимедиа для изменения размера шрифта элемента на различных размерах экрана:
Пример
/* If screen size is more than 600px wide, set the font-size of <div> to 80px */
@media screen and (min-width:
600px) {
div.example {
font-size: 80px;
}
}
/* If screen size is 600px wide, or less,
set the font-size of <div> to 30px */
@media screen and (max-width: 600px) {
div.example {
font-size: 30px;
}
}
Гибкая Галерея изображений
В этом примере мы используем мультимедийные запросы вместе с Flexbox для создания адаптивной галереи изображений:
Пример
Гибкий сайт
В этом примере мы используем мультимедийные запросы вместе с Flexbox для создания адаптивного веб-сайта, содержащего гибкую панель навигации и гибкий контент.
Пример
Ориентация: портрет/пейзаж
Мультимедийные запросы также можно использовать для изменения макета страницы в зависимости от ориентации браузера.
Вы можете иметь набор свойств CSS, которые будут применяться только в том случае, если окно обозревателя шире, чем его высота, так называемая «Ландшафтная» ориентация:
Пример
Используйте цвет фона лигхтблуе, если ориентация находится в альбомном режиме:
@media only screen and (orientation:
landscape) {
body {
background-color: lightblue;
}
}
Минимальная ширина до максимальной ширины
Можно также использовать значения (max-width: ..) and (min-width: ..)
для задания минимальной ширины и максимальной ширины.
Например, если ширина обозревателя находится между 600 и 900px, измените внешний вид элемента <div>:
Пример
@media screen and (max-width: 900px) and (min-width: 600px) {
div. example {
font-size: 50px;
padding: 50px;
border: 8px solid black;
background: yellow;
}
}
Использование дополнительного значения: В приведенном ниже примере мы добавляем дополнительный мультимедийный запрос к уже существующему, используя запятую (это будет вести себя как оператор OR):
Пример
/* When the width is between 600px and 900px OR above 1100px
— change the appearance of <div> */
@media screen and (max-width: 900px) and (min-width:
600px), (min-width:
1100px) {
div.example {
font-size: 50px;
padding: 50px;
border: 8px solid black;
background: yellow;
}
}
CSS @media ссылка
Для полного обзора всех типов носителей и функций/выражений, пожалуйста, посмотрите на @media правило в нашей ссылке CSS.
Совет: Чтобы узнать больше о адаптивном веб-дизайне (как ориентироваться на различные устройства и экраны), используя точки останова для запросов мультимедиа, прочитайте наш учебник по адаптивному веб-дизайну.
❮ Назад Дальше ❯
Правило CSS @media
❮ Предыдущий Полное руководство по CSS Далее ❯
Пример
Измените цвет фона элемента
на «светло-синий», когда окно браузера имеет ширину 600 пикселей или меньше: @media only screen and (max-width: 600px) {
body {
цвет фона: голубой;
}
}
Попробуйте сами »
Другие примеры «Попробуйте сами» ниже.
Определение и использование
Правило @media
используется в медиа-запросах для применения разных стилей для разных типов медиа/устройств.
Медиа-запросы можно использовать для проверки многих вещей, таких как:
- ширина и высота окна просмотра
- ширина и высота устройства
- ориентация (планшет/телефон в альбомной или портретной ориентации?) разрешение
Использование медиа-запросов является популярным методом предоставления индивидуального стиля лист (отзывчивый веб-дизайн) на настольные компьютеры, ноутбуки, планшеты и мобильные телефоны.
Вы также можете использовать медиа-запросы, чтобы указать, что определенные стили предназначены только для печатных документов или программ чтения с экрана (тип медиа: печать, экран или речь).
В дополнение к типам носителей существуют также характеристики носителей. Медиа-функции предоставить более подробную информацию для медиа-запросов, позволяя проверить специфическая функция пользовательского агента или устройства отображения. Например, вы может применять стили только к тем экранам, которые больше или меньше, чем определенной ширины.
Поддержка браузера
Числа в таблице указывают первую версию браузера, которая полностью поддерживает правило @media.
Собственность | |||||
---|---|---|---|---|---|
@медиа | 21 | 9 | 3,5 | 4,0 | 9 |
Синтаксис CSS
@media not|only mediatype и (медиафункция и|или|не mediafeature) {
CSS-код;
}
значение не , только и и ключевых слов:
не: Ключевое слово not инвертирует значение всего медиа запрос.
Только : Ключевое слово only не позволяет старым браузерам, не поддерживающим мультимедийные запросы с мультимедийными функциями, применять указанные стили. Не влияет на современные браузеры.
и: Ключевое слово and объединяет мультимедийную функцию с мультимедийной тип или другие медиа-функции.
Все они необязательны. Однако, если вы используете , а не или только , необходимо также указать тип носителя.
У вас также могут быть разные таблицы стилей для разных носителей, например это:
….
Другие примеры
Пример
Скрыть элемент, если ширина браузера не превышает 600 пикселей: :
никто;
}
}
Попробуйте сами »
Пример
Используйте медиазапросы, чтобы установить лавандовый цвет фона, если окно просмотра 800 пикселей в ширину или шире, до светло-зеленого, если окно просмотра имеет ширину от 400 до 799 пикселей. Если область просмотра меньше 400 пикселей, цвет фона светло-голубой:
body {
цвет фона: голубой;
}
Экран @media и (min-width:
400 пикселей) {
тело {
цвет фона: светло-зеленый;
}
}
@медиа
экран и (минимальная ширина: 800 пикселей) {
тело {
цвет фона: лаванда;
}
}
Попробуйте сами »
Пример
Создайте адаптивное меню навигации (отображаемое горизонтально на больших экранах и вертикально на маленьких экранах):
Экран @media и (максимальная ширина: 600 пикселей) {
.topnav a {
поплавок: нет;
ширина: 100%;
}
}
Попробуйте сами »
Пример
Используйте мультимедийные запросы для создания адаптивного макета столбца:
/* На экранах шириной 992 пикселя или меньше увеличьте количество столбцов с четырех до двух. столбцы */
@media screen и (максимальная ширина: 992 пикселя) {
.column {
ширина: 50%;
}
}
/* На экранах шириной 600 пикселей или меньше сделайте столбцы стопкой
друг над другом, а не рядом */
Экран @media и (max-width:
600px) {
.column {
ширина: 100%;
}
}
Попробуйте сами »
Пример
Используйте медиа-запросы для создания адаптивного веб-сайта:
Попробуйте сами »
Пример
Медиа-запросы также можно использовать для изменения макета страницы в зависимости от макета страницы. в ориентация браузера. У вас может быть набор свойств CSS, которые будут применяются, когда окно браузера шире своей высоты, так называемый «пейзаж» ориентация.
Используйте светло-голубой цвет фона, если ориентация находится в ландшафтном режиме:
Только экран @media и (ориентация:
пейзаж) {
тело {
цвет фона: голубой;
}
}
Попробуйте сами »
Пример
Используйте медиазапросы, чтобы установить зеленый цвет текста, когда документ отображается на экране и становится черным при печати:
@media screen {
body {
цвет: зеленый;
}
}
@media print {
тело {
цвет: черный;
}
}
Попробуйте сами »
Пример
Список, разделенный запятыми : добавьте дополнительный медиазапрос к уже существующему, используя запятую (это будет работать как оператор ИЛИ):
/* Если ширина составляет от 600 до 900 пикселей ИЛИ больше 1 100 пикселей, измените внешний вид
@media screen и (max-width: 900px) и (минимальная ширина: 600 пикселей), (минимальная ширина: 1100 пикселей) {
раздел. пример {
размер шрифта: 50px;
отступ: 50 пикселей;
граница: 8 пикселей, сплошной черный цвет;
фон: желтый;
}
}
Попробуйте сами »
Связанные страницы
Учебник CSS: CSS Media Queries
Учебник CSS: Примеры медиазапросов CSS
Учебник RWD: Отзывчивый веб-дизайн с помощью медиазапросов window02 The00 JavaScript 90 Tutorial 90 Метод .matchMedia()
❮ Предыдущий Полное руководство по CSS Далее ❯
ВЫБОР ЦВЕТА
Лучшие учебники
Учебное пособие по HTMLУчебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебное пособие по W3.CSS
Учебное пособие по Bootstrap
Учебное пособие по PHP
Учебное пособие по Java
Учебное пособие по C++
Учебное пособие по jQuery
902 02
Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3. CSS
Справочник по Bootstrap
Справочник по PHP
Цвета HTML
Справочник по Java
Справочник по Angular
Справочник по jQuery
Лучшие примеры
Примеры HTMLПримеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery
FORUM | О
W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.
Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.
Свойство минимального размера блока CSS
❮ Предыдущий Полное руководство по CSS Далее ❯
Пример
Установите минимальный размер элемента
div {
min-block-size: 200px;
}
Попробуйте сами »
Другие примеры «Попробуйте сами» ниже.
Определение и использование
Свойство min-block-size
задает минимальный размер элемента в направлении блока.
Если содержимое меньше минимального размера в направлении блока, 9Будет применено значение свойства 0024 min-block-size .
Если содержимое больше минимального размера в направлении блока, значение свойства min-block-size
не действует.
Примечание: Связанное свойство CSS write-mode
определяет направление блока, и это влияет на результат свойства min-block-size
. Для страниц на английском языке направление блока — вниз, а направление строки — слева направо.
УС
9Свойство 0024 min-block-size очень похоже на свойства CSS. мин-высота
и min-width
, но свойство min-block-size
зависит от направления блока.
Показать демо ❯
Значение по умолчанию: | авто |
---|---|
Унаследовано: | нет |
Анимация: | да. Читать о анимированном Попробуй |
Версия: | CSS3 |
Синтаксис JavaScript: | объект .style.minBlockSize=»10px» Попробуй |
Поддержка браузера
Числа в таблице указывают первую версию браузера, которая полностью поддерживает это свойство.
Собственность | |||||
---|---|---|---|---|---|
минимальный размер блока | 57,0 | 79,0 | 41,0 | 12,1 | 44,0 |
Синтаксис CSS
min-block-size: auto| значение |начальное|наследовать;
Значения свойств
Значение | Описание | Демо |
---|---|---|
авто | По умолчанию. Значение минимального размера блока по умолчанию для элемента. | Демонстрация ❯ |
длина | Указывает минимальный размер блока в px, pt, cm и т. д. Подробнее о единицах длины | Демонстрация ❯ |
% | Указывает минимальный размер блока в процентах относительно размера родительского элемента на соответствующей оси. | Демонстрация ❯ |
начальный | Устанавливает для этого свойства значение по умолчанию. Читать о инициал | |
унаследовать | Наследует это свойство от родительского элемента. Читать о унаследовать |
Дополнительные примеры
Режим письма
Если для свойства режима письма
элемента
min-block-size
работа со свойствами: div {
минимальный размер блока: 200 пикселей;
режим письма: вертикальный-rl;
}
Попробуйте сами »
Минимальный размер блока и размер блока
Посмотрите, как один элемент
размером блока
100 пикселей, а другой минимальным размером блока
100 пикселей , реагировать по-разному на изменение размера содержимого: #div1 {
min-block-size: 100px;
}
#div2 {
размер блока: 100 пикселей;
}
Попробуйте сами »
Связанные страницы
Свойство CSS block-size: CSS свойство Block-size
CSS свойство max-block-size: CSS свойство Max-block-size
CSS свойство min-height: CSS свойство Min-height
CSS Свойство min-width: Свойство CSS Min-width
Свойство режима письма CSS: Свойство режима письма CSS
❮ Назад Полное руководство по CSS Следующий ❯
ВЫБОР ЦВЕТА
Лучшие учебники
Учебник по HTMLУчебник CSS
Учебник JavaScript
How To Tutorial
Учебник SQL
Учебник Python
Учебник W3. CSS
Учебник Bootstrap
Учебник PHP
Учебник Java
Учебник C++
Учебник jQuery 7 Ссылки
02 Top 9 HTML Reference
CSS Reference
JavaScript Reference
SQL Reference
Python Reference
W3.CSS Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
Справочник по jQuery
Основные примеры
Примеры HTMLПримеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery
FORUM | О
W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.
Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.
Свойство CSS max-block-size
❮ Предыдущий Полное руководство по CSS Далее ❯
Пример
Установите максимальный размер элемента
div {
max-block-size: 60px;
}
Попробуйте сами »
Другие примеры «Попробуйте сами» ниже.
Определение и использование
Свойство max-block-size
указывает максимальный размер элемента в направлении блока.
Если содержимое меньше максимального размера в направлении блока, значение свойства max-block-size
не действует.
Если содержимое больше максимального размера в направлении блока, будет применено значение свойства max-block-size
.
Примечание: Связанное свойство CSS режим записи
определяет направление блока, и это влияет на результат max-block-size
свойство. Для страниц на английском языке направление блока — вниз, а направление строки — слева направо.
УС
Свойство max-block-size
очень похоже на свойства CSS. максимальная высота
и max-width
, но свойство max-block-size
зависит от направления блока.
Показать демо ❯
Значение по умолчанию: | авто |
---|---|
Унаследовано: | нет |
Анимация: | да. Читать о анимированном Попробуй |
Версия: | CSS3 |
Синтаксис JavaScript: | объект .style.maxBlockSize=»60px» Попробуй |
Поддержка браузера
Числа в таблице указывают первую версию браузера, которая полностью поддерживает это свойство.
Недвижимость | |||||
---|---|---|---|---|---|
максимальный размер блока | 57,0 | 79,0 | 41,0 | 12,1 | 44,0 |
Синтаксис CSS
максимальный размер блока: авто| значение |начальное|наследовать;
Значения свойств
Значение | Описание | Демо |
---|---|---|
авто | По умолчанию. Значение максимального размера блока по умолчанию для элемента. | Демонстрация ❯ |
длина | Указывает максимальный размер блока в px, pt, cm и т. д. Подробнее о единицах длины | Демонстрация ❯ |
% | Указывает максимальный размер блока в процентах относительно размера родительского элемента на соответствующей оси. | Демонстрация ❯ |
начальный | Устанавливает для этого свойства значение по умолчанию. Читать о начальный | |
унаследовать | Наследует это свойство от родительского элемента. Читать о унаследовать |
Дополнительные примеры
Режим письма
Если для свойства режима письма
элемента
0024 max-block-size
свойство work: div {
max-block-size: 60px;
режим письма: vertical-lr;
}
Попробуйте сами »
Максимальный размер блока и размер блока
Посмотрите, как один элемент
размером блока
100 пикселей, а другой максимальным размером блока
100 пикселей , реагировать по-разному на изменение размера содержимого: #div1 {
max-block-size: 100px;
}
#div2 {
размер блока: 100 пикселей;
}
Попробуйте сами »
Связанные страницы
Свойство CSS block-size: CSS свойство Block-size
CSS свойство min-block-size: CSS свойство Min-block-size
CSS свойство max-height : Свойство CSS Max-height
Свойство CSS max-width: Свойство CSS Max-width
Свойство режима письма CSS: Свойство режима письма CSS
❮ Назад Полное руководство по CSS Следующий ❯
ВЫБОР ЦВЕТА
Лучшие учебники
Учебное пособие по HTMLУчебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебное пособие по W3. CSS
Учебное пособие по Bootstrap
Учебное пособие по PHP
Учебное пособие по Java
Учебное пособие по C++
Учебное пособие по jQuery
902 02
Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.CSS
Справочник по Bootstrap
Справочник по PHP
Цвета HTML
Справочник по Java
Справочник по Angular
Справочник по jQuery
Основные примеры
Примеры HTMLПримеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery
FORUM | О
W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.
Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.
Использование медиа-запросов — CSS: каскадные таблицы стилей
Медиа-запросы позволяют применять стили CSS в зависимости от общего типа устройства (например, печать или экран) или других характеристик, таких как разрешение экрана или ширина области просмотра браузера. Медиа-запросы используются для следующего:
- Для условного применения стилей с помощью CSS
@media
и@import
at-правила. - Для таргетинга на определенные медиафайлы для
,
,
и других элементов HTML с атрибутом
media=
. - Для тестирования и мониторинга состояния мультимедиа с помощью методов
Window.matchMedia()
иEventTarget.addEventListener()
.
Примечание:В примерах на этой странице используется CSS @media
для иллюстративных целей,но основной синтаксис остается одинаковым для всех типов медиа-запросов.
Медиа-запрос состоит из необязательного медиа-типа и любого количества медиа-функций выражений,которые могут произвольно комбинироваться различными способами с использованием логических операторов . Медиа-запросы нечувствительны к регистру.
- Типы носителей определяют широкую категорию устройств,для которых применяется мультимедийный запрос:
все
,печать
,экран
. Тип является необязательным (предполагается,чтовсе
),за исключением случаев использованияне
илитолько
логические операторы. - Медиа-функции описывают конкретную характеристику пользовательского агента,устройства вывода или среды:
любое наведение
любой указатель
соотношение сторон
цвет
цветовая гамма
индекс цвета
соотношение сторон устройства
Not for use in new websites.">Устаревшийвысота устройства
Устаревшийширина устройства
Устаревшийрежим отображения
динамический диапазон
форсированные цвета
сетка
высота
наведение
инвертированные цвета
монохромный
ориентация
переливной блок
встроенный перелив
указатель
предпочитает цветовую схему
предпочитает контраст
предпочитает уменьшенное движение
разрешение
сценарии
обновление
видео-динамический диапазон
ширина
.
hover
позволяет проверить,поддерживает ли устройство наведение курсора на элементы. Выражения функций мультимедиа проверяют их наличие или значение и являются совершенно необязательными. Каждое выражение функции мультимедиа должно быть заключено в круглые скобки. - Логические операторы могут использоваться для составления сложного медиазапроса:
вместо
,и
,атолько
. Вы также можете объединить несколько медиазапросов в одно правило,разделив их запятыми.
Медиа-запрос вычисляется как true
,когда тип мультимедиа (если он указан) соответствует устройству,на котором отображается документ и все выражения функций мультимедиа вычисляются как true. Запросы с неизвестными типами носителей всегда являются ложными.
Примечание. Таблица стилей с медиа-запросом,прикрепленным к ее 9Тег 0024 все равно загрузится,даже если запрос вернет false
,загрузка произойдет,но приоритет загрузки будет намного ниже.Тем не менее,его содержимое не будет применяться до тех пор,пока результат запроса не изменится на true
. Вы можете прочитать,почему это происходит,в блоге Tomayac Почему браузер загружает таблицу стилей с несоответствующими медиа-запросами.
Типы носителей описывают общую категорию данного устройства. Хотя веб-сайты обычно разрабатываются с учетом экранов,вы можете захотеть создать стили,предназначенные для специальных устройств,таких как принтеры или программы чтения с экрана со звуком. Например,этот CSS предназначен для принтеров:
Вы также можете настроить таргетинг на несколько устройств. Например,это правило @media
использует два медиа-запроса для работы как с экраном,так и с устройством печати:
См. тип носителя для списка всех типов носителя. Поскольку они описывают устройства в очень общих терминах,доступно лишь несколько;чтобы настроить таргетинг на более конкретные атрибуты,используйте медиа-функции .
Медиа-функции описывают конкретные характеристики данного пользовательского агента,устройства вывода или среды. Например,вы можете применить определенные стили к широкоэкранным мониторам,компьютерам,использующим мыши,или к устройствам,которые используются в условиях низкой освещенности. В этом примере стили применяются,когда пользователь первичный механизм ввода (например,мышь) может наводить курсор на элементы:
Многие мультимедийные функции являются диапазонными функциями ,что означает,что они могут иметь префикс «min-» или «max-»,чтобы выразить ограничения «минимальное условие» или «максимальное условие». Например,этот CSS будет применять стили только в том случае,если ширина области просмотра вашего браузера равна или меньше 1250 пикселей:
Если вы создаете запрос функции мультимедиа без указания значения,вложенные стили будут использоваться до тех пор,пока значение функции не равно нулю (или none
на уровне 4).Например,этот CSS применим к любому устройству с цветным экраном:
Если функция не применяется к устройству,на котором работает браузер,выражения,связанные с этой мультимедийной функцией,всегда ложны.
Дополнительные примеры мультимедийных функций см. на справочной странице для каждой конкретной функции.
Иногда вам может понадобиться создать медиа-запрос,зависящий от нескольких условий. Вот тут-то и появляются логических оператора :не
,и
,а только
. Кроме того,вы можете объединить несколько медиа-запросов в список ,разделенный запятыми ;это позволяет применять одни и те же стили в разных ситуациях.
В предыдущем примере мы уже видели операторы и
,используемые для группировки носителя типа 9.0123 с функцией носителя . Операторы и
также могут объединять несколько медиа-функций в один медиа-запрос.Оператор ,а не
,между тем,отрицает медиа-запрос,фактически изменяя его обычное значение на противоположное. Оператор only
не позволяет старым браузерам применять стили.
Примечание:В большинстве случаев тип носителя all
используется по умолчанию,если не указан другой тип. Однако,если вы используете не
или только
операторы,вы должны явно указать тип носителя.
Сочетание нескольких типов или функций
Ключевое слово и
объединяет функцию мультимедиа с типом мультимедиа или с другими функциями мультимедиа. В этом примере сочетаются две функции мультимедиа,чтобы ограничить стили альбомно-ориентированными устройствами с шириной не менее 30 ems:
Чтобы ограничить стили устройствами с экраном,вы можете связать мультимедийные функции с экран
тип носителя:
Проверка нескольких запросов
Вы можете использовать список,разделенный запятыми,для применения стилей,когда устройство пользователя соответствует любому из различных типов мультимедиа,функций или состояний.Например,следующее правило будет применять свои стили,если устройство пользователя имеет минимальную высоту 680 пикселей или является экранным устройством в портретном режиме:
Возьмем приведенный выше пример,если у пользователя есть принтер с высотой страницы 800 пикселей,оператор media вернет true,потому что будет применен первый запрос. Аналогичным образом,если бы пользователь находился на смартфоне в портретном режиме с высотой области просмотра 480 пикселей,был бы применен второй запрос,и оператор мультимедиа все равно вернул бы true.
Инвертирование значения запроса
Ключевое слово ,а не
инвертирует значение всего медиа-запроса. Это только отменит конкретный медиа-запрос,к которому он применяется. (Таким образом,это не будет применяться к каждому медиа-запросу в списке медиа-запросов,разделенных запятыми.) 9Ключевое слово 0024,а не ,не может использоваться для отрицания отдельного запроса функции,только для всего медиа-запроса.,а не
оценивается последним в следующем запросе:
Это означает,что приведенный выше запрос оценивается следующим образом:
Это не будет оцениваться так:
В качестве другого примера можно привести следующий медиа-запрос:
Это означает,что приведенный выше запрос оценивается следующим образом:
Улучшение совместимости со старыми браузерами
Ключевое слово only
не позволяет старым браузерам,не поддерживающим мультимедийные запросы с мультимедийными функциями,применять заданные стили. Не влияет на современные браузеры.
Спецификация медиа-запросов уровня 4 включает некоторые улучшения синтаксиса,чтобы сделать медиа-запросы с использованием функций,которые имеют тип «диапазона»,например ширину или высоту,менее подробными.Уровень 4 добавляет контекст диапазона для написания таких запросов. Например,используя функциональность max-
для ширины,мы могли бы написать следующее:
Примечание:Спецификация Media Queries Level 4 имеет достаточную поддержку в современных браузерах,но некоторые мультимедийные функции поддерживаются недостаточно. См. @media
Таблица совместимости браузеров для более подробной информации.
В Media Queries Level 4 это можно записать как:
Используя min-
и max-
,мы можем проверить ширину между двумя значениями следующим образом:
Это приведет к преобразованию в синтаксис уровня 4 следующим образом:
Медиа-запросы Уровень 4 также добавляет способы объединения медиа-запросов с использованием полной логической алгебры с и ,вместо и или .
Отрицание функции с помощью
not
Использование not()
вокруг медиа-функции отменяет эту функцию в запросе. Например,not(hover)
будет соответствовать,если устройство не поддерживает зависание:
Тестирование нескольких функций с помощью
или
Вы можете использовать или
для проверки соответствия между более чем одной функцией,разрешая true
,если какая-либо из функций верна. Например,следующий запрос проверяет устройства с монохромным дисплеем или функцией наведения:
- @медиа
- Запросы контейнера
- Программное тестирование медиа-запросов
- CSS-анимации между медиа-запросами
- Расширенные функции мультимедиа Mozilla
- Расширенные мультимедийные функции WebKit
Обнаружили проблему с содержанием этой страницы?
- Отредактируйте страницу на GitHub.
- Сообщить о проблеме с содержимым.
- Посмотреть исходный код на GitHub.
Хотите принять участие?
Узнайте,как внести свой вклад.
Последний раз эта страница была изменена участниками MDN.
В чем разница между «экраном» и «только экраном» в медиа-запросах?
Улучшить статью
Сохранить статью
- Последнее обновление:07 мар,2019
Улучшить статью
Сохранить статью
Медиа-запрос используется для создания адаптивного веб-дизайна. Это означает,что представление веб-страницы отличается от системы к системе в зависимости от типа экрана или мультимедиа.
screen:Используется для установки размера экрана медиазапроса. Размер экрана можно установить с помощью max-width и min-width.Размер экрана отличается от экрана к экрану.
Синтаксис:
Экран@media и (max-width:width)
Пример:В этом примере используется медиа-запрос,который работает,когда максимальная ширина области отображения составляет 400 пикселей. Это указание экрана в отличие от других доступных типов носителей,наиболее распространенным из которых является печать.
< head >
6 9009 >
|
Output:
Размер экрана более 400 пикселей:
Размер экрана менее 400 пикселей:
только экран:Только используется для предотвращения применения указанных стилей старыми браузерами,которые не поддерживают медиа-запросы с медиа-функциями.
Syntax:
@media only screen and (max-width:width)
Example 2
< p > |
Output:
Screen size greater then 400px:
Screen size less then 400px :
Статьи по теме
Медиа-запросы для стандартных устройств | CSS-Tricks
Если ты думаешь, что отзывчивость — это просто, мне жаль тебя, сынок. Мы получили 99 видовых экранов, а у iPhone только один.
— Джош Брюэр, 10 марта 2010 г.
Важным компонентом адаптивного дизайна является создание правильного интерфейса для правильного устройства. С огромным количеством различных устройств на рынке это может быть сложной задачей. Мы собрали медиа-запросы, которые можно использовать для таргетинга дизайна для многих стандартных и популярных устройств, которые, безусловно, стоит прочитать.
Если вам нужен полный список медиа-запросов, этот репозиторий — хороший ресурс.
Если вы реагируете на это: никогда не устанавливайте точки останова на устройствах!! Вы правы. У Джастина Эйвери есть хороший пост о возможных подводных камнях использования точек останова для конкретных устройств. Выбор точек останова на основе вашего дизайна, а не конкретных устройств — разумный способ. Но иногда вам просто нужна небольшая помощь, чтобы взять под контроль одну конкретную ситуацию.
Телефоны и портативные устройства
iPhone/* ----------- iPhone 4 и 4S ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 320 пикселей) и (максимальная ширина устройства: 480 пикселей) и (-webkit-min-device-pixel-ratio: 2) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 320 пикселей) и (максимальная ширина устройства: 480 пикселей) и (-webkit-min-device-pixel-ratio: 2) и (ориентация: портрет) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 320 пикселей) и (максимальная ширина устройства: 480 пикселей) и (-webkit-min-device-pixel-ratio: 2) и (ориентация: пейзаж) { } /* ----------- iPhone 5, 5S, 5C и 5SE ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 320 пикселей) и (максимальная ширина устройства: 568 пикселей) и (-webkit-min-device-pixel-ratio: 2) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 320 пикселей) и (максимальная ширина устройства: 568 пикселей) и (-webkit-min-device-pixel-ratio: 2) и (ориентация: портрет) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 320 пикселей) и (максимальная ширина устройства: 568 пикселей) и (-webkit-min-device-pixel-ratio: 2) и (ориентация: пейзаж) { } /* ----------- iPhone 6, 6S, 7 и 8 ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 375 пикселей) и (максимальная ширина устройства: 667 пикселей) и (-webkit-min-device-pixel-ratio: 2) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 375 пикселей) и (максимальная ширина устройства: 667 пикселей) и (-webkit-min-device-pixel-ratio: 2) и (ориентация: портрет) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 375 пикселей) и (максимальная ширина устройства: 667 пикселей) и (-webkit-min-device-pixel-ratio: 2) и (ориентация: пейзаж) { } /* ----------- iPhone 6+, 7+ и 8+ ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 414px) и (максимальная ширина устройства: 736 пикселей) и (-webkit-min-device-pixel-ratio: 3) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 414px) и (максимальная ширина устройства: 736 пикселей) и (-webkit-min-device-pixel-ratio: 3) и (ориентация: портрет) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 414px) и (максимальная ширина устройства: 736 пикселей) и (-webkit-min-device-pixel-ratio: 3) и (ориентация: пейзаж) { } /* ----------- iPhone X ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 375 пикселей) и (максимальная ширина устройства: 812 пикселей) и (-webkit-min-device-pixel-ratio: 3) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 375 пикселей) и (максимальная ширина устройства: 812 пикселей) и (-webkit-min-device-pixel-ratio: 3) и (ориентация: портрет) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 375 пикселей) и (максимальная ширина устройства: 812 пикселей) и (-webkit-min-device-pixel-ratio: 3) и (ориентация: пейзаж) { }Телефоны Galaxy
/* ----------- Galaxy S3 ----------- */ /* Портрет и пейзаж */ @медиа экран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 2) { } /* Портрет */ @медиа экран и (ширина устройства: 320 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 2) и (ориентация: портрет) { } /* Пейзаж */ @медиа экран и (ширина устройства: 320 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 2) и (ориентация: пейзаж) { } /* ----------- Galaxy S4, S5 и Note 3 ----------- */ /* Портрет и пейзаж */ @медиа экран и (ширина устройства: 320 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) { } /* Портрет */ @медиа экран и (ширина устройства: 320 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) и (ориентация: портрет) { } /* Пейзаж */ @медиа экран и (ширина устройства: 320 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) и (ориентация: пейзаж) { } /* ----------- Galaxy S6 ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 4) { } /* Портрет */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 4) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 4) и (ориентация: пейзаж) { }Телефоны HTC
/* ----------- HTC One ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) { } /* Портрет */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) и (ориентация: пейзаж) { }Google Pixel
/* ----------- Google Pixel ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) { } /* Портрет */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) и (ориентация: пейзаж) { } /* ----------- Google Pixel XL ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 4) { } /* Портрет */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 4) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 4) и (ориентация: пейзаж) { }Телефоны Nexus
/* ----------- Nexus 4 ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 384px) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 2) { } /* Портрет */ @медиаэкран и (ширина устройства: 384px) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 2) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 384px) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 2) и (ориентация: пейзаж) { } /* ----------- Нексус 5 ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 3) { } /* Портрет */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 3) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 3) и (ориентация: пейзаж) { } /* ----------- Nexus 6 и 6P ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 4) { } /* Портрет */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 4) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 4) и (ориентация: пейзаж) { }Windows Phone
/* ----------- Windows Phone ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 480 пикселей) и (высота устройства: 800 пикселей) { } /* Портрет */ @медиаэкран и (ширина устройства: 480 пикселей) и (высота устройства: 800 пикселей) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 480 пикселей) и (высота устройства: 800 пикселей) и (ориентация: пейзаж) { }
Ноутбуки
Медиа-запросы для ноутбуков — это что-то вроде безжалостной силы. Вместо таргетинга на конкретные устройства попробуйте указать общий диапазон размеров экрана, а затем различать экраны с сетчаткой и без нее.
/* ----------- Экраны без Retina ----------- */ @медиаэкран и (минимальная ширина устройства: 1200 пикселей) и (максимальная ширина устройства: 1600 пикселей) и (-webkit-min-device-pixel-ratio: 1) { } /* ----------- Экраны Retina ----------- */ @медиаэкран и (минимальная ширина устройства: 1200 пикселей) и (максимальная ширина устройства: 1600 пикселей) и (-webkit-min-device-pixel-ratio: 2) и (минимальное разрешение: 192dpi) { }
Таблетки
iPad/* ----------- iPad 1, 2, Mini и Air ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 768px) и (максимальная ширина устройства: 1024px) и (-webkit-min-device-pixel-ratio: 1) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 768px) и (максимальная ширина устройства: 1024px) и (ориентация: портрет) и (-webkit-min-device-pixel-ratio: 1) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 768px) и (максимальная ширина устройства: 1024px) и (ориентация: пейзаж) и (-webkit-min-device-pixel-ratio: 1) { } /* ----------- iPad 3, 4 и Pro 9. 7" ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 768px) и (максимальная ширина устройства: 1024px) и (-webkit-min-device-pixel-ratio: 2) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 768px) и (максимальная ширина устройства: 1024px) и (ориентация: портрет) и (-webkit-min-device-pixel-ratio: 2) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 768px) и (максимальная ширина устройства: 1024px) и (ориентация: пейзаж) и (-webkit-min-device-pixel-ratio: 2) { } /* ----------- iPad Pro 10,5" ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 834px) и (максимальная ширина устройства: 1112 пикселей) и (-webkit-min-device-pixel-ratio: 2) { } /* Портрет */ /* Объявите одинаковое значение для минимальной и максимальной ширины, чтобы избежать конфликтов с рабочими столами */ /* Источник: https://medium.com/connect-the-dots/css-media-queries-for-ipad-pro-8cad10e17106*/ @медиа только экран и (минимальная ширина устройства: 834px) и (максимальная ширина устройства: 834px) и (ориентация: портрет) и (-webkit-min-device-pixel-ratio: 2) { } /* Пейзаж */ /* Объявите одинаковое значение для минимальной и максимальной ширины, чтобы избежать конфликтов с рабочими столами */ /* Источник: https://medium. com/connect-the-dots/css-media-queries-for-ipad-pro-8cad10e17106*/ @медиа только экран и (минимальная ширина устройства: 1112 пикселей) и (максимальная ширина устройства: 1112 пикселей) и (ориентация: пейзаж) и (-webkit-min-device-pixel-ratio: 2) { } /* ----------- iPad Pro 12.9" ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 1024px) и (максимальная ширина устройства: 1366 пикселей) и (-webkit-min-device-pixel-ratio: 2) { } /* Портрет */ /* Объявите одинаковое значение для минимальной и максимальной ширины, чтобы избежать конфликтов с рабочими столами */ /* Источник: https://medium.com/connect-the-dots/css-media-queries-for-ipad-pro-8cad10e17106*/ @медиа только экран и (минимальная ширина устройства: 1024px) и (максимальная ширина устройства: 1024px) и (ориентация: портрет) и (-webkit-min-device-pixel-ratio: 2) { } /* Пейзаж */ /* Объявите одинаковое значение для минимальной и максимальной ширины, чтобы избежать конфликтов с рабочими столами */ /* Источник: https://medium. com/connect-the-dots/css-media-queries-for-ipad-pro-8cad10e17106*/ @медиа только экран и (минимальная ширина устройства: 1366 пикселей) и (максимальная ширина устройства: 1366 пикселей) и (ориентация: пейзаж) и (-webkit-min-device-pixel-ratio: 2) { }Планшеты Galaxy
/* ----------- Galaxy Tab 2 ----------- */ /* Портрет и пейзаж */ @СМИ (минимальная ширина устройства: 800 пикселей) и (максимальная ширина устройства: 1280 пикселей) { } /* Портрет */ @СМИ (максимальная ширина устройства: 800 пикселей) и (ориентация: портрет) { } /* Пейзаж */ @СМИ (максимальная ширина устройства: 1280 пикселей) и (ориентация: пейзаж) { } /* ----------- Galaxy Tab S ----------- */ /* Портрет и пейзаж */ @СМИ (минимальная ширина устройства: 800 пикселей) и (максимальная ширина устройства: 1280 пикселей) и (-webkit-min-device-pixel-ratio: 2) { } /* Портрет */ @СМИ (максимальная ширина устройства: 800 пикселей) и (ориентация: портрет) и (-webkit-min-device-pixel-ratio: 2) { } /* Пейзаж */ @СМИ (максимальная ширина устройства: 1280 пикселей) и (ориентация: пейзаж) и (-webkit-min-device-pixel-ratio: 2) { }Планшеты Nexus
/* ----------- Nexus 7 ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 601px) и (высота устройства: 906px) и (-webkit-min-device-pixel-ratio: 1,331) и (-webkit-max-device-pixel-ratio: 1,332) { } /* Портрет */ @медиаэкран и (ширина устройства: 601px) и (высота устройства: 906px) и (-webkit-min-device-pixel-ratio: 1,331) и (-webkit-max-device-pixel-ratio: 1,332) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 601px) и (высота устройства: 906px) и (-webkit-min-device-pixel-ratio: 1,331) и (-webkit-max-device-pixel-ratio: 1,332) и (ориентация: пейзаж) { } /* ----------- Nexus 9 ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 1536px) и (высота устройства: 2048px) и (-webkit-min-device-pixel-ratio: 1,331) и (-webkit-max-device-pixel-ratio: 1,332) { } /* Портрет */ @медиаэкран и (ширина устройства: 1536px) и (высота устройства: 2048px) и (-webkit-min-device-pixel-ratio: 1,331) и (-webkit-max-device-pixel-ratio: 1,332) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 1536px) и (высота устройства: 2048px) и (-webkit-min-device-pixel-ratio: 1,331) и (-webkit-max-device-pixel-ratio: 1,332) и (ориентация: пейзаж) { }Kindle Fire
/* ----------- Kindle Fire HD 7" ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 800 пикселей) и (максимальная ширина устройства: 1280 пикселей) и (-webkit-min-device-pixel-ratio: 1,5) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 800 пикселей) и (максимальная ширина устройства: 1280 пикселей) и (-webkit-min-device-pixel-ratio: 1,5) и (ориентация: портрет) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 800 пикселей) и (максимальная ширина устройства: 1280 пикселей) и (-webkit-min-device-pixel-ratio: 1,5) и (ориентация: пейзаж) { } /* ----------- Kindle Fire HD 8.