34 / 10 / 2
Регистрация: 20.02.2016
Сообщений: 1,557
1

Как работает медиазапрос, если у всех устройств одинаковое разрешение, хотя размер экрана разный?

18.11.2018, 19:00. Показов 2051. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Медиазапросы работают при заданных размерах окна браузера. Например, для смартфона

CSS
1
@import url(css/small.css) (max-width:320px);
Но если разрешение экрана смартфона (планшета) 1920х1080, это значит, что ширина окна браузера может быть 1920/1080 px.
Как же тогда работает медиазапрос?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2018, 19:00
Ответы с готовыми решениями:

Как установить разрешение экрана 1440х900 если его нет в списке настроек экрана
По причине слабости компа скачал Виндовс 7 Реактор. Работает молниеносно, однако, есть весьма...

Как позиционировать изображение под разрешение и размер экрана
Подскажите, пожалуйста, почему так происходит с отображением картинок. Это мой сайт, то есть при...

Как позиционировать изображение под разрешение и размер экрана
Люди помогите, кто знает как раскусить эту фишку на этом сайте...

Как изменять разрешение камеры под размер экрана телефона
Всем привет! Я создаю 2D проект и в ходе компелирования проекта и установки его на телефон,...

9
dev - investigator
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
18.11.2018, 20:07 2
Fatmarmelad, разрешение экрана !=== размер.

Разрешение — величина, определяющая количество точек (элементов растрового изображения) на единицу площади (или единицу длины). Более высокое разрешение (больше элементов) обычно обеспечивает более точные представления оригинала изображения.
https://ru.wikipedia.org/wiki/... 1%80%D0%B0
0
34 / 10 / 2
Регистрация: 20.02.2016
Сообщений: 1,557
18.11.2018, 22:33  [ТС] 3
Qwerty_Wasd, но есть же физические пиксели, как элементы дисплея. И если пишется
(max-width:320px); это и есть те самые пиксели, или нет?
0
dev - investigator
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
18.11.2018, 22:54 4
Fatmarmelad, правильно - аппаратный пиксель. Да в медиа-запросах указан размер в аппаратных пикселях. Это размер экрана.
0
34 / 10 / 2
Регистрация: 20.02.2016
Сообщений: 1,557
18.11.2018, 22:58  [ТС] 5
Qwerty_Wasd, может Вы подскажете, как определить размер экрана монитора в пикселях? Смотрю в характеристики мониторов, смартфонов. Везде указано разрешение.

Сколько пикселей у экрана по ширине/высоте?
0
dev - investigator
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
18.11.2018, 23:17 6
Fatmarmelad, я выражусь еще точнее - размер вьюпорта. Его не надо высчитывать. Его медиа-запрос отследит.
Вот смотрите, у Вас допустим стоит разрешение экрана 1920х1080. Открыли браузер на весь экран - размер видимой части вкладки(вьюпорта) будет равен разрешение экрана минус рамка окна и тому подобное. Вы начинаете изменять размер браузера. Размер вьюпорта изменился - стал меньше по высоте и ширине. Но разрешение экрана как было 1920х1080, так и осталось. Вот для того чтобы определить вид и поведение страницы на определенных размерах вьюпорта, используют медиа-запросы. Так надеюсь стало понятнее?
0
34 / 10 / 2
Регистрация: 20.02.2016
Сообщений: 1,557
19.11.2018, 09:41  [ТС] 7
Qwerty_Wasd, Вы имеете ввиду, что в медиазапросе указываются не аппаратные пиксели, а условные, когда за один пиксель может приниматься несколько аппаратных пикселей?
0
dev - investigator
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
19.11.2018, 18:31 8
Fatmarmelad, нет. Я имел ввиду ровно то, что написал. И не условный, а референсный пиксель.
Те пиксели что указываются в CSS - css-пиксели. Они имеют разный контекст применения.
При указании размеров в медиазапросах - контекст аппаратного, ибо парсится размер вьюпорта.
При указании например размеров элементов - контекст референсного, вот он может состоять из матрицы аппаратных. При transform: scale например. Все это за Вас высчитывает и понимает АПИ клиента.
Например указав мета
HTML5
1
<meta name="viewport" content="width=device-width, initial-scale=1">
Вы указываете браузеру, что размер референсного пикселя должен совпадать с аппаратным при рендеринге.
Изменив значения, Вы измените матрицу референсных пикселей, тех что Вы будете видеть. На экране визуально все будет отмасштабировано.

Вдогонку - https://developers.google.com/... e-viewport
1
34 / 10 / 2
Регистрация: 20.02.2016
Сообщений: 1,557
19.11.2018, 19:32  [ТС] 9
Qwerty_Wasd,
то есть в запросе ниже указывается референсный пиксель (если я не указываю initial-scale=1)?
CSS
1
@import url(css/small.css) (max-width:320px);
0
dev - investigator
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
19.11.2018, 19:42 10
Fatmarmelad,
Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
При указании размеров в медиазапросах - контекст аппаратного, ибо парсится размер вьюпорта.
0
19.11.2018, 19:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2018, 19:42
Помогаю со студенческими работами здесь

Как сохранить картинку в формате .bmp, если ее разрешение больше чем у экрана?
Всех с Новым, 2019 Годом. Очень надеюсь на помощь форумчан, в одном важном вопросе. Подскажите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru