Как сделать правильный media запрос?

Ссылка скопирована
1 ответ

Мне нужно сделать media запрос для адаптации сайта под 1920 px экран 2910 1080.
Сейчас запрос выглядит так:

@media screen and (max-width: 1920px) { }

@media screen and (max-width: 1920px) { }

И почему-то у человека с 1920 px 2910 1080 отображается некорректно, также есть другие media запросы, которые работают:

@media screen and (min-width: 1440px) { } @media screen and (max-width: 1280px) { } @media screen and (max-width: 1024px) { }

@media screen and (min-width: 1440px) { } @media screen and (max-width: 1280px) { } @media screen and (max-width: 1024px) { }

Может, дело в них?

Дополнительно:

@media screen and (max-width: 1920px)

Будет работать на вьюпортах меньше или равных 1920

Вам хорошо бы определиться в какую сторону вы двигаетесь от мобилок к десктопам или наоборот (mobile first или desktop first). Хотя бы для конкретного проблемного селектора. В идеале, конечно, для всех в одну, но бывают и исключения.

Приветствую.
Я использую такой формат:

/*Media*/ /* Large desktops and laptops */ @media (min-width: 1080px) and (max-width: 1200px) {    /*стили*/ }

/*Media*/ /* Large desktops and laptops */ @media (min-width: 1080px) and (max-width: 1200px) { /*стили*/ }

Кажется удобным, т.к. сразу видно в каком диапазоне работают стили.

Bootstrap, например, в документации показывает такой вариант:

// X-Small devices (portrait phones, less than 576px) // No media query for `xs` since this is the default in Bootstrap  // Small devices (landscape phones, 576px and up) @media (min-width: 576px) { ... }  // Medium devices (tablets, 768px and up) @media (min-width: 768px) { ... }  // Large devices (desktops, 992px and up) @media (min-width: 992px) { ... }  // X-Large devices (large desktops, 1200px and up) @media (min-width: 1200px) { ... }  // XX-Large devices (larger desktops, 1400px and up) @media (min-width: 1400px) { ... }

// X-Small devices (portrait phones, less than 576px) // No media query for `xs` since this is the default in Bootstrap // Small devices (landscape phones, 576px and up) @media (min-width: 576px) { ... } // Medium devices (tablets, 768px and up) @media (min-width: 768px) { ... } // Large devices (desktops, 992px and up) @media (min-width: 992px) { ... } // X-Large devices (large desktops, 1200px and up) @media (min-width: 1200px) { ... } // XX-Large devices (larger desktops, 1400px and up) @media (min-width: 1400px) { ... }

Авторитетным источником в данном вопросе будет: https://developer.mozilla.org/ru/docs/Web/CSS/CSS_...

Старайтесь не мешать между собой media min и max в одном диапазоне, могут быть конфликты по CSS стилям.

Я пользуюсь таким методом:
1920px и ниже – адаптив, desktop first.
2000px и больше – адаптив для широких мониторов и телевизоров.

/*   > 2000px   */ @media screen and (min-width: 2000px) {}  /*   < 1920px   */ @media screen and (max-width: 1920px) {}

/* > 2000px */ @media screen and (min-width: 2000px) {} /* < 1920px */ @media screen and (max-width: 1920px) {}

  • А в оставшиеся 78 точек делай, браузер, что хочешь )))
  • Ankhena, не надо брать breakpoint за золотой стандарт.
    Если ширина не затрагивается запросами, значит в этом диапазоне не требуется изменений.
  • Илья Петров, золотой стандарт - писать все media в одном направлении.

    В вашем придуманном примере получается пишем для всех, потом переопределили и вниз и вверх. В итоге "для всех" - это 78 точек. Ну и знаки < и > некорректны, исправьте, пожалуйста.

    Если что, да, интервалов может быть много и да они могут быть небольшими, если это требуется для гармоничного отображения. Но, пожалуйста, для одного селектора (ну хотя бы) в одном направлении.

  • Ankhena, max-width — от указанного размера и ниже, моя запись обозначает X < 1920px,
    где X меньше 1920px.

    Простое правило для запоминания знаков больше или меньше — представьте, что знак – это клюв птицы, и она открывает клюв в сторону большего числа.

    Если мы говорим про стили, то media-запросы – это дополнительные стили к основным.
    И параметр в media запросе нужен браузеру, чтобы понять, когда добавлять дополнительный стиль.

  • Илья Петров,

    max-width — от указанного размера и ниже, моя запись обозначает X < 1920px

    Вот именно, от указанного размера и ниже, а вовсе не строгое <
    Поэтому и говорю: поправьте.
    А не про птичек с клювами :)))

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Юрий Linux Ответ

Для создания правильного media запроса в CSS, вам необходимо учитывать различные аспекты, такие как размер экрана устройства, ориентацию экрана, плотность пикселей (DPI) и так далее. Media запрос позволяет адаптировать стили вашего сайта под разные устройства и условия просмотра.

Прежде всего, вам нужно определиться с тем, для каких устройств или размеров экрана вы хотите задать стили. Например, если вы хотите изменить стили для устройств с шириной экрана менее 768 пикселей, вы можете использовать следующий media запрос:

@media only screen and (max-width: 768px) {
  /* Ваши стили здесь */
}

@media only screen and (max-width: 768px) { /* Ваши стили здесь */ }

Этот media запрос будет применять стили только для устройств с шириной экрана до 768 пикселей. Вы также можете использовать другие параметры, такие как min-width, orientation (landscape или portrait), max-device-width и другие для более точной настройки стилей.

Кроме того, вы можете комбинировать различные параметры, чтобы создать более сложные media запросы. Например, если вы хотите применить стили только для устройств с шириной экрана от 768 до 1024 пикселей и ориентацией landscape, вы можете использовать следующий media запрос:

@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  /* Ваши стили здесь */
}

@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) { /* Ваши стили здесь */ }

Помните, что правильное использование media запросов поможет вашему сайту быть адаптивным и удобным для пользователей на разных устройствах. Не забывайте также тестировать ваш сайт на различных устройствах, чтобы убедиться, что стили корректно отображаются.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно