Как реализовать медиазапрос на javascript?

Пользователь

от jerad.kuphal , в категории: JavaScript , 7 месяцев назад

Как реализовать медиазапрос на javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от bernardo_nolan , 7 месяцев назад

@jerad.kuphal 

Медиазапросы (media queries) - это CSS-правила, которые позволяют задавать стили для элементов страницы в зависимости от свойств устройства, на котором отображается страница (например, размер экрана). Медиазапросы не могут быть напрямую реализованы на JavaScript, но вы можете использовать JavaScript, чтобы получить информацию о свойствах устройства и динамически применять стили на основе этой информации.


Например, вы можете использовать JavaScript для получения ширины окна браузера и затем динамически применять стили в зависимости от значения ширины. Для этого вы можете использовать объект window.matchMedia().


Например, следующий код будет применять стили, определенные в блоке if для экранов с шириной меньше или равной 768 пикселей, а стили в блоке else для экранов с шириной больше 768 пикселей:

1
2
3
4
5
if (window.matchMedia("(max-width: 768px)").matches) {
  // Применить стили для экранов с шириной меньше или равной 768 пикселей
} else {
  // Применить стили для экранов с шириной больше 768 пикселей
}


Этот код проверяет, соответствует ли текущее значение ширины экрана условию медиазапроса, используя метод matches. Если matches возвращает true, то применяются стили в блоке if, а если false, то стили в блоке else.


Вы также можете использовать событие resize для обновления стилей при изменении размера окна браузера:

1
2
3
4
5
6
7
window.addEventListener('resize', function(event){
  if (window.matchMedia("(max-width: 768px)").matches) {
    // Применить стили для экранов с шириной меньше или равной 768 пикселей
  } else {
    // Применить стили для экранов с шириной больше 768 пикселей
  }
});