HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Одним из самых важных инструментов при создании адаптивной вёрстки является использование медиа-запросов. Медиа-запросы - специальные условные конструкции, которые позволяют применять стили только для определённых устройств.</p>
1 <p>Одним из самых важных инструментов при создании адаптивной вёрстки является использование медиа-запросов. Медиа-запросы - специальные условные конструкции, которые позволяют применять стили только для определённых устройств.</p>
2 <p>Медиа-запросы записываются следующим образом:</p>
2 <p>Медиа-запросы записываются следующим образом:</p>
3 <p>В качестве<em>условия</em>могут выступать различные значения и константы. Зачастую используются следующие конструкции:</p>
3 <p>В качестве<em>условия</em>могут выступать различные значения и константы. Зачастую используются следующие конструкции:</p>
4 <h2>Ориентация экрана</h2>
4 <h2>Ориентация экрана</h2>
5 <p>Для определения ориентации экрана используется ключ orientation, значением которого может выступать одно из двух значений:</p>
5 <p>Для определения ориентации экрана используется ключ orientation, значением которого может выступать одно из двух значений:</p>
6 <ol><li>landscape. Условие выполнится для устройств с<em>горизонтальной</em>ориентацией экрана. Горизонтальная - ориентация, при которой ширина<em>viewport</em>больше его высоты.</li>
6 <ol><li>landscape. Условие выполнится для устройств с<em>горизонтальной</em>ориентацией экрана. Горизонтальная - ориентация, при которой ширина<em>viewport</em>больше его высоты.</li>
7 <li>portrait. Условие выполнится для устройств с<em>вертикальной</em>ориентацией экрана. Вертикальная - ориентация, при которой высота<em>viewport</em>больше его ширины.</li>
7 <li>portrait. Условие выполнится для устройств с<em>вертикальной</em>ориентацией экрана. Вертикальная - ориентация, при которой высота<em>viewport</em>больше его ширины.</li>
8 </ol><h2>Разрешение экрана</h2>
8 </ol><h2>Разрешение экрана</h2>
9 <p>При использовании медиа-запросов мы также можем исходить из ширины или высоты<em>viewport</em>. Для этого используются знакомые нам по обычным CSS-правилам условия<em>width, min-width, max-width</em>для ширины и<em>height, min-height, max-height</em>для высоты.</p>
9 <p>При использовании медиа-запросов мы также можем исходить из ширины или высоты<em>viewport</em>. Для этого используются знакомые нам по обычным CSS-правилам условия<em>width, min-width, max-width</em>для ширины и<em>height, min-height, max-height</em>для высоты.</p>
10 <p>С помощью таких условий создаются<em>breakpoint</em>- контрольные точки. Это границы значений, по которым видоизменяется наш макет. Такие точки остановки позволяют иметь правила для мониторов, планшетов, телефонов, кофеварок.</p>
10 <p>С помощью таких условий создаются<em>breakpoint</em>- контрольные точки. Это границы значений, по которым видоизменяется наш макет. Такие точки остановки позволяют иметь правила для мониторов, планшетов, телефонов, кофеварок.</p>
11 <p>Обратите внимание на порядок написания свойств. Помните, что CSS является каскадной таблицей, поэтому порядок стилей необходимо контролировать. В данном случае к элементу вначале будет применён стиль по умолчанию, который не находится в медиа-запросе, затем поочерёдно будут применяться стили в зависимости от значений в условии медиа-запроса.</p>
11 <p>Обратите внимание на порядок написания свойств. Помните, что CSS является каскадной таблицей, поэтому порядок стилей необходимо контролировать. В данном случае к элементу вначале будет применён стиль по умолчанию, который не находится в медиа-запросе, затем поочерёдно будут применяться стили в зависимости от значений в условии медиа-запроса.</p>
12 <p>Например, при ширине<em>viewport</em>770 пикселей для элемента стили применятся в следующем порядке:</p>
12 <p>Например, при ширине<em>viewport</em>770 пикселей для элемента стили применятся в следующем порядке:</p>
13 <ul><li>Стили по умолчанию.</li>
13 <ul><li>Стили по умолчанию.</li>
14 <li>Стили для условия медиа-запроса max-width: 1400px.</li>
14 <li>Стили для условия медиа-запроса max-width: 1400px.</li>
15 <li>Стили для условия медиа-запроса max-width: 990px.</li>
15 <li>Стили для условия медиа-запроса max-width: 990px.</li>
16 <li>Стили для условия медиа-запроса max-width: 770px.</li>
16 <li>Стили для условия медиа-запроса max-width: 770px.</li>
17 </ul><p>Подход, описанный выше называется<em>Desktop First</em>. Мы вначале пишем стили для больших мониторов, а в последствии, используя медиа-запросы, дописываем стили для всё более маленьких значений<em>viewport</em>. Его характерная черта в медиа-запросах - использование конструкции<em>max-width</em>в качестве условия.</p>
17 </ul><p>Подход, описанный выше называется<em>Desktop First</em>. Мы вначале пишем стили для больших мониторов, а в последствии, используя медиа-запросы, дописываем стили для всё более маленьких значений<em>viewport</em>. Его характерная черта в медиа-запросах - использование конструкции<em>max-width</em>в качестве условия.</p>
18 <p>В противовес<em>Desktop First</em>существует подход<em>Mobile First</em>. Его особенностью является то, что вначале пишутся стили под мобильные устройства, а затем, используя медиа-запросы, пишутся стили для больших размеров<em>viewport</em>. Если в<em>Desktop First</em>основной конструкцией являлось использование<em>max-width</em>, то в<em>Mobile First</em>используется<em>min-width</em>.</p>
18 <p>В противовес<em>Desktop First</em>существует подход<em>Mobile First</em>. Его особенностью является то, что вначале пишутся стили под мобильные устройства, а затем, используя медиа-запросы, пишутся стили для больших размеров<em>viewport</em>. Если в<em>Desktop First</em>основной конструкцией являлось использование<em>max-width</em>, то в<em>Mobile First</em>используется<em>min-width</em>.</p>
19 <p>Стили, написанные с использованием подхода<em>Mobile First</em>выглядят следующим образом:</p>
19 <p>Стили, написанные с использованием подхода<em>Mobile First</em>выглядят следующим образом:</p>
20 <h2>Логические операторы</h2>
20 <h2>Логические операторы</h2>
21 <p>Условия внутри медиа-запросов можно комбинировать. Для этого существует три логических оператора:</p>
21 <p>Условия внутри медиа-запросов можно комбинировать. Для этого существует три логических оператора:</p>
22 <ul><li>Логическое<em>"И"</em>. Означает, что несколько условий должны быть выполнены для того, чтобы CSS-стили применились к элементу. Для использования логического "И" используется ключевое слово and. Сделаем условие, которое проверяет, что экран устройства находится в портретной (вертикальной) ориентации и имеет ширину<em>viewport</em>не меньше 600 пикселей:</li>
22 <ul><li>Логическое<em>"И"</em>. Означает, что несколько условий должны быть выполнены для того, чтобы CSS-стили применились к элементу. Для использования логического "И" используется ключевое слово and. Сделаем условие, которое проверяет, что экран устройства находится в портретной (вертикальной) ориентации и имеет ширину<em>viewport</em>не меньше 600 пикселей:</li>
23 </ul><ul><li>Логическое<em>"ИЛИ"</em>. Свойства применятся в том случае, если хотя бы<em>одно из</em>условий будет выполнено. Условия для этого отделяются запятыми. Возьмём прошлый пример и применим его с использованием "ИЛИ":</li>
23 </ul><ul><li>Логическое<em>"ИЛИ"</em>. Свойства применятся в том случае, если хотя бы<em>одно из</em>условий будет выполнено. Условия для этого отделяются запятыми. Возьмём прошлый пример и применим его с использованием "ИЛИ":</li>
24 </ul><ul><li>Логическое<em>"НЕ"</em>. Свойства применятся в том случае, если условие<em>не выполняется</em>. Используется ключевое слово not. Реальное использование этого оператора не велико, в виду сложности и не интуитивности происходящего. В связи с этим советую воздержаться в первое время от использования ключевого слова not.</li>
24 </ul><ul><li>Логическое<em>"НЕ"</em>. Свойства применятся в том случае, если условие<em>не выполняется</em>. Используется ключевое слово not. Реальное использование этого оператора не велико, в виду сложности и не интуитивности происходящего. В связи с этим советую воздержаться в первое время от использования ключевого слова not.</li>
25 </ul><p>Медиа-запросы возможно писать не только внутри CSS-файла, но и использовать их в HTML при подключении файла стилей. В этом случае медиа-запрос указывается в атрибуте media.</p>
25 </ul><p>Медиа-запросы возможно писать не только внутри CSS-файла, но и использовать их в HTML при подключении файла стилей. В этом случае медиа-запрос указывается в атрибуте media.</p>
26  
26