Media css min width max width: css — @Media min-width & max-width
В чем разница между max-device-width и max-width для мобильного интернета?
Мне нужно разработать несколько страниц html для телефонов iphone/android, но в чем разница между max-device-width
и max-width
? Мне нужно использовать разные css для разных размеров экрана.
@media all and (max-device-width: 400px)
@media all and (max-width: 400px)
Какая разница?
css mobile-website media-queriesПоделиться Источник virsir 19 июля 2011 в 12:37
8 ответов
- Должен ли я использовать max-device-width или max-width?
С помощью запросов CSS media вы можете использовать max-device-width для таргетинга ширины устройства (например, устройства iPhone или Android) и / или max-width , который нацелен на ширину страницы. Если вы используете max-device-width , то при изменении размера окна браузера на рабочем столе CSS.
- В чем разница между шириной устройства и max-device-with?
В соответствии с W3C функция device-width media описывает ширину поверхности рендеринга выходного устройства. @media all and (max-device-width : 480px) @media all and (device-width : 480px) есть ли какая-то разница между этими двумя ? Если device-width -это ширина поверхности рендеринга и почему…
258
max-width
— ширина целевой области отображения, например, браузера
max-device-width
-это ширина всей области рендеринга устройства, т. е. фактический экран устройства
То же самое касается max-height
и max-device-height
, естественно.
Поделиться Ian Devlin 19 июля 2011 в 12:54
83
max-width
относится к ширине окна просмотра и может использоваться для определения конкретных размеров или ориентации в сочетании с max-height
. Используя несколько условий max-width
(или min-width
), вы можете изменить стиль страницы по мере изменения размера браузера или изменения ориентации на устройстве, таком как iPhone.
max-device-width
относится к размеру окна просмотра устройства независимо от ориентации, текущего масштаба или изменения размера. Это не изменится на устройстве, поэтому его нельзя использовать для переключения таблиц стилей или директив CSS при повороте или изменении размера экрана.
Поделиться voncox 09 августа 2011 в 13:00
16
Что вы думаете об использовании этого стиля?
Для всех точек останова, которые в основном предназначены для «mobile device», я использую min(max)-device-width
, а для точек останова, которые в основном предназначены для «desktop», использую min(max)-width
.
Есть много «mobile devices», которые плохо вычисляют ширину.
Посмотрите на http://www.javascriptkit.com/dhtmltutors/cssmediaqueries2.shtml :
/* #### Mobile Phones Portrait #### */ @media screen and (max-device-width: 480px) and (orientation: portrait){ /* some CSS here */ } /* #### Mobile Phones Landscape #### */ @media screen and (max-device-width: 640px) and (orientation: landscape){ /* some CSS here */ } /* #### Mobile Phones Portrait or Landscape #### */ @media screen and (max-device-width: 640px){ /* some CSS here */ } /* #### iPhone 4+ Portrait or Landscape #### */ @media screen and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2){ /* some CSS here */ } /* #### Tablets Portrait or Landscape #### */ @media screen and (min-device-width: 768px) and (max-device-width: 1024px){ /* some CSS here */ } /* #### Desktops #### */ @media screen and (min-width: 1024px){ /* some CSS here */ }
Поделиться 1ubos 20 декабря 2013 в 09:18
9
max-device-width — ширина рендеринга устройства
@media all and (max-device-width: 400px) {
/* styles for devices with a maximum width of 400px and less
Changes only on device orientation */
}
@media all and (max-width: 400px) {
/* styles for target area with a maximum width of 400px and less
Changes on device orientation , browser resize */
}
Максимальная ширина-это ширина целевой области отображения, означающая текущий размер браузера.
Поделиться Sarath 19 июля 2011 в 12:49
6
разница в том, что max-device-width — это вся ширина экрана, а максимальная ширина означает пространство, используемое браузером для отображения страниц. Но еще одним важным отличием является поддержка браузеров android, на самом деле, если вы собираетесь использовать max-device-width, это будет работать только в Opera, вместо этого я уверен, что максимальная ширина будет работать для всех видов мобильных браузеров (я тестировал его в Chrome, firefox и opera для ANDROID).
Поделиться
- CSS media запросов-min-device-width и max-device-width
У меня есть проблема с добавлением CSS для конкретного устройства. Я запустил свое приложение на этих двух симуляторах: ширина: 320 и высота: 500 ширина: 320 и высота: 588 Теперь моя проблема в том, что CSS всегда используется второй : 320 x 588. Я считаю, что это потому, что он соответствует…
- CSS разница между (max-width:320px) и (max-device-width:320px)
Какая разница? (max-width:320px) and (max-device-width:320px) Я пробую максимальную ширину, я думаю, что она работает только при изменении размера окна А max-device-width работает только на мобильном экране? Это правда?
5
max-width -это ширина целевой области отображения, например браузера; max-device-width — это ширина всей области отображения устройства, т. е. фактического экрана устройства.
• Если вы используете max-device-width , при изменении размера окна браузера на рабочем столе стиль CSS не изменится на другой параметр запроса media.;
• Если вы используете максимальную ширину , при изменении размера браузера на рабочем столе параметр CSS изменится на другой параметр запроса media, и вам может быть показан стиль для мобильных телефонов, например меню с сенсорным управлением.
Поделиться Lucky Chaturvedi 01 июля 2016 в 05:12
4
Если вы создаете кросс-платформенное приложение (например, используя phonegap/cordova), то,
Не используйте ширину устройства или высоту устройства. Скорее используйте ширину или высоту в запросах CSS media, потому что устройство Android вызовет проблемы с шириной или высотой устройства. Для iOS это работает нормально. Только android устройства не поддерживают device-width/device-height.
Поделиться Himanshu Garg 26 декабря 2014 в 08:26
2
Больше не используйте device-width/height.
ширина устройства, высота устройства и device-aspect-ratio устарели в запросах Media уровня 4: https://developer.mozilla.org/en-US/docs/Web/CSS/@media#Media_features
Просто используйте width/height (без min/max) в сочетании с ориентацией & (min/max-)resolution для целевых конкретных устройств. На мобильном устройстве ширина/высота должна быть такой же, как device-width/height.
Поделиться SammieFox 09 мая 2016 в 04:32
Похожие вопросы:
смартфон принимает (max-device-width: x), но не (max-width: x)
Я хочу, чтобы мой @media применялся на смартфонах, а также в небольшом браузере windows. Поэтому я хочу использовать второй @media в приведенном ниже фрагменте CSS. @media only screen and…
В чем разница между media запросами max-width и max-device-width?
Возможный Дубликат : В чем разница между max-device-width и max-width для мобильного интернета? Например, этот веб-сайт: http://8faces.com / использует максимальную ширину . В этом учебнике…
Притворяется max-device-width
Для реализации мобильного сайта было бы полезно установить max-device-width в моем браузере. Я знаю плагины для подделки пользовательского агента. Возможно ли это также для max-device-width? Я бы…
Должен ли я использовать max-device-width или max-width?
С помощью запросов CSS media вы можете использовать max-device-width для таргетинга ширины устройства (например, устройства iPhone или Android) и / или max-width , который нацелен на ширину…
В чем разница между шириной устройства и max-device-with?
В соответствии с W3C функция device-width media описывает ширину поверхности рендеринга выходного устройства. @media all and (max-device-width : 480px) @media all and (device-width : 480px) есть ли…
CSS media запросов-min-device-width и max-device-width
У меня есть проблема с добавлением CSS для конкретного устройства. Я запустил свое приложение на этих двух симуляторах: ширина: 320 и высота: 500 ширина: 320 и высота: 588 Теперь моя проблема в том,…
CSS разница между (max-width:320px) и (max-device-width:320px)
Какая разница? (max-width:320px) and (max-device-width:320px) Я пробую максимальную ширину, я думаю, что она работает только при изменении размера окна А max-device-width работает только на…
Конфликт запросов Media с использованием max-device-width и max-width
Я пытаюсь понять, есть ли какой-либо конфликт между использованием max-device-width для указания определенных элементов для того, чтобы веб-сайт был отзывчивым на устройствах, и использованием…
max-device-width и изменение ориентации
У меня есть код ниже: @media all and (max-device-width: 360px) { div { background-color: green; } } @media all and (min-device-width: 361px) and (max-device-width: 640px) { div { background-color:…
Как исправить ошибки css для min-device-width и max-device-width
используя онлайн-валидатор CSS, я пытаюсь проверить CSS своей страницы, но получил следующие 2 сообщения об ошибках: Неизвестная ошибка org.w3c.css.parser.analyzer.ParseException: устаревшая функция…
Max-width, max-height, min-width, min-height — учебник CSS
Несколько уроков назад мы рассматривали свойства width
и height
для установки фиксированной ширины и высоты элемента. Но современный CSS не ограничивается этими свойствами и предлагает нам намного более гибкую настройку стилей.
Свойства min-width/min-height и max-width/max-height позволяют задавать минимальную и максимальную ширину/высоту соответственно. Разберем их по порядку:
min-width
— с помощью этого свойства вы можете указать минимальную ширину элемента. Например, если вы зададите блоку стильmin-width: 50px
, то ширина блока может стать больше, но она никогда не станет меньше, чем 50 пикселей. Это очень удобно, например, при создании адаптивной верстки, когда при определенных размерах экрана элемент с относительной шириной становится слишком узким. Свойство min-width позволяет предотвратить такие искажения.min-height
— работает аналогично предыдущему свойству, но только по отношению к высоте элемента. Безусловно, это тоже очень полезное свойство в практике, которое позволяет задать минимальную высоту элемента.max-width
— как вы уже догадались, это свойство позволяет задать максимально допустимую ширину элемента. Например, элемент со стилемmax-width: 960px
может иметь ширину меньше максимальной, но он никогда не станет больше, чем 960 пикселей. Данное свойство удобно использовать при создании адаптивной разметки, когда вам необходимо, чтобы элемент адаптировался под ширину экрана любого устройства, но при этом не слишком широко разъезжался на больших экранах.max-height
— работает аналогично предыдущему свойству, только по отношению к высоте. Но, как мы уже говорили ранее, лучше не играть с ограничением высоты элемента без крайней надобности.auto
— это значение можно использовать для отмены действия свойства.
Итак, все эти свойства позволяют легко контролировать допустимые размеры элементов, при этом не фиксируя их намертво, как это делают обычные свойства width и height. Их можно комбинировать, задавая для одного элемента минимальную и максимальную ширину/высоту. Значения можно устанавливать в любых единицах измерения CSS. Словом, все возможности для реализации очень гибкой верстки.
div { width: 100%; min-width: 100px; max-width: 600px; }
Что с кроссбраузерностью?
Поддержка браузерами свойств max-width, max-height, min-width, min-height практически стопроцентная. Данную запись не понимает только Internet Explorer 6.
Далее в учебнике: «плавающие» элементы и свойство float.
Min width и max width css – Тарифы на сотовую связь
80 пользователя считают данную страницу полезной.
Информация актуальна! Страница была обновлена 16.12.2019
Мне часто задают вопросы вроде: « Стоит ли использовать медиа-запросы (media queries) min-width или max width CSS ? Те, кто знаком с адаптивным дизайном, сочтут этот вопрос странным, так как знают, что все зависит от конкретного случая. Сегодня я рад поделиться с вами собственным мнением о том, что на самом деле означает «зависит от конкретного случая ».
Ориентир на настольные ПК и max-width
Большая часть разработчиков до сих пор ориентируется только на пользователей ПК. Часто осознание ситуации приходит, когда становится ясно, сколько сил было потрачено впустую на компоненты для ПК, которые все реже востребованы из-за растущего числа мобильных пользователей. При анализе стилей подобных сайтов чаще всего встречается CSS media max width .
Если дизайн разрабатывался в первую очередь под настольные ПК, значит весь CSS должен быть насыщен объемным кодом для других ключевых точек ( breakpoints ). Если определенная ширина, заданная для ПК, является точкой отсчета, и мы не станем изменять и переписывать наш CSS , то вполне логично будет поменять в базовых стилях значения ширины окна просмотра на те, которые мы собираемся применять к экранам меньшего размера.
Вот пример, которым я часто пользуюсь ( предполагая, что .related принимает форму боковой панели ):
Такой подход при использовании со множеством компонентов может существенно увеличить объем CSS завершенного проекта. Но так как блочные элементы по умолчанию занимают 100% ширины родительского элемента, то разумнее было бы прописать все следующим образом:
Здесь мы используем стандартное положение блочных элементов, и перекрываем их, когда это состояние требуется изменить. Чтобы лучше понять суть всего сказанного, нужно изучить рабочий код таких сайтов.
max-width вместо более подходящего решения
Есть несколько причин использования в CSS min width max width :
- Если вы получили дизайн только для настольной версии сайта. Если вы получили настольную версию дизайна и несколько дополнительных вариантов для мобильных устройств. В таких случаях можете использовать max-width , но только временно;
- Вы внедряете адаптивный дизайн в уже работающий сайт, и код его стилей нельзя изменять;
- Вы пытаетесь компенсировать отсутствие медиа-запросов, и пытаетесь реализовать это с помощью CSS вместо JavaScript .
Так что же лучше использовать?
Обращайте внимание на стандартный вариант отображения конкретного элемента. Если вам нужно переписывать стандартное состояние для меньших экранов, то используйте max-width . Если элемент можно использовать на меньших экранах и при стандартном состоянии, применяйте min-width только в тех случаях, когда элемент должен отличаться от стандартного состояния. И конечно же, я рекомендую вам позволить контенту определять, что и как должно происходить.
Таблицы – отличный пример использования CSS div max width для изменения стандартного состояния элемента, чтобы он лучше отображался на маленьких экранах. Представьте таблицу, контента в которой слишком много, чтобы отображать его полностью на маленьких устройствах. В таком случае мы можем применить следующий код:
Этот код позволит нам преобразовать каждую строку ( и ячейку ) в блок. В результате таблица может стать длинной по вертикали, но зачастую это меньшее из зол. Я имею в виду длинные таблицы, которые приходится прокручивать по горизонтали. В таких ситуациях лучше всего оставить таблицы без изменений, за исключением кода для тех браузеров, которые понимают медиа-запросы, и случаев, когда ширина экрана не превышает определенного значения ( 30em в нашем случае ).
Другие элементы, которые в стандартном состоянии отлично смотрятся на маленьких экранах, нужно изменять лишь по необходимости для экранов большего размера. В таких случаях и применяется min-width .
Вкратце: позвольте стандартному состоянию элементов помочь вам определить, какой медиа-запрос использовать.
Данная публикация представляет собой перевод статьи « Choosing between min-width and max-width media queries » , подготовленной дружной командой проекта Интернет-технологии.ру
Устанавливает минимальную ширину элемента. Если окно браузера по ширине становится меньше заданной минимальной ширины элемента, то ширина элемента остается неизменной, а в окне появляется горизонтальная полоса прокрутки.
Значение ширины элемента будет вычисляться в зависимости от установленных значений свойств width , max-width и min-width . В табл. 1 показано, чем руководствуется браузер при совместном использовании указанных стилевых свойств.
Значения свойств | Ширина | ||||
---|---|---|---|---|---|
min-width | width | > | max-width | min-width | |
min-width | > | width | width | min-width | |
min-width | > | max-width | min-width | ||
min-width | width ) меньше значения min-width , то ширина элемента принимается равной min-width . |
Синтаксис
min-width: значение | проценты | inherit
Значения
В качестве значений принимаются пикселы (px), проценты (%) и другие единицы измерения, принятые в CSS. Отрицательные значения не допускаются. inherit наследует значение родителя.
HTML5 CSS2.1 IE Cr Op Sa Fx
Результат данного примера показан на рис. 1.
Рис. 1. Результат использования min-width в браузере
Объектная модель
[window.]document.getElementBy >elementID «).style.minWidth
Браузеры
Internet Explorer до версии 7.0 включительно не поддерживает значение inherit .
В этой статье я попытаюсь рассказать, как сделать простой шаблон адаптивным. И, конечно же, я попытаюсь объяснить, что такое адаптивный дизайн.
Что такое адаптивный дизайн?Я уверен, что вы часто «серфите» по сайтам с мобильных устройств и не раз замечали, что есть сайты, где надо масштабировать страницу, чтобы прочитать текст. А бывает, что еще хуже — текст может не поместится на всю страницу и вам придется крутить страницу и по горизонтали, и по вертикали.
Зайдя на сайт с адаптивным шаблоном все меняется, ибо текст «подстраивается» под ваш телефон (разрешение экрана).
Теория (основы)Думаю, всем известно, что все шаблоны (их стиль) построен на CSS. И адаптивный дизайн — не исключение. Наиболее важное изменение — изменение единиц измерения. Представим, ширина блока 400 пикселей, а значит, что ее надо указывать в процентах (например, 40%).
max-width и widthТоже очень важная часть в дизайне. Например, ширина нашего сайта 1000 пикселей, но при изменение окна (по ширине, меньше 1000 пикселей), появится горизонтальная прокрутка. Но все поменяется, если мы укажем width: 100%, ибо сайт будет «подстраиваться» под наш экран.
С большими мониторами не так все просто, поскольку текст растянется на весь экран. А получается, если монитор широкоформатный, то текст будет нечитабельным.
Если вам нужно, чтобы сайт остался с такой же шириной, но при этом остался «адаптивным» — надо изменить CSS-код, как указано ниже.
min-width и widthЕсли чуть выше мы ставили максимальную ширину, то здесь мы устанавливаем минимальную ширину. К примеру, если установить минимальную ширину 200 пикселей, то окно браузера достигает этой ширины и оно больше не будет уменьшаться (появится горизонтальная прокрутка).
ПрактикаШаблон, который будет выступать в качестве демонострации, будет иметь в себе три составляющих: шапка, основной контент и боковая колонка (сайтбар).
- Шапка — #headerInner
- Основной контент — #colLeft
- Боковая колонка — #colRight
Проверить адаптивность шаблона можно с помощью масштабирования окна (см. скриншот).
Как вы заметили, ширина шаблона 1000 пикселей. В шаблоне используется width и max-width: о них написано выше.
У шапки ширина все таже — 1000 пикселей. У основного контента (#colLeft) ширина 67%, а у правой колонки — 30%. Отступ между ними 30 пикселей (3%).
Использование media screenСтоит отметить, что в media screen задается нужное разрешение экрана устройства. Их очень много, можно указывать даже свои, но самые популярные: 320px, 480px, 600px, 768px, 1024px. В моем примере используется два разрешения: 768px и 1024px.
Таким образом выглядит тег media screen в CSS
Как можно увидеть, мы используем максимальную ширину — 1024px. Данное свойство будет предаваться только тогда, когда ширина окна будет меньше 1024 пикселей.
1024 пикселяДопустим, что наша цель — чуть-чуть сузить шаблон при этом разрешении, но основной контент и сайтбар должны оставаться на месте.
Вот, что необходимо прописать в CSS
Шапка сайта (#headerInner) имеет новый размер в 90%. Стоит отметить, что для шапки мы не используем max-width, ибо он здесь не нужен. #wrapper — блок, в котором находится основной контент и сайтбар, его ширина тоже 90%. Ширина и сайтбара, и основного контента остаются неизменными, изменился лишь отступ у сайтбара (3%). Это используется для того, чтобы при уменьшение окна сайтбар не «падал» вниз.
768pxТеперь мы пишем настройки для окон, ширина которых 768 пикселей и меньше. Сейчас мы будем распологать сайтбар под основным контентом.
Для блока основного контента (#colLeft) мы указали ширину 100%, чтобы блок растянулся на весь экран. Также мы убрали выравнивание по левому краю, указав float: none, чтобы сайтбар (#colRight) «уплыл» под основной блок контента.
Для сайтбара ширина та же, а выравнивание по правому боку (float: right;) мы убрали. Ко всему этому, мы добавили отступ (margin-top: 25px;), чтобы эти два блока разделялись.
Для того, чтобы картинки также сужались нужно использовать этот код
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
max-width | CSS | WebReference
Устанавливает максимальную ширину элемента. Значение ширины элемента будет вычисляться в зависимости от значений установленных свойств width, max-width и min-width. В табл. 1 показано, чем руководствуется браузер при совместном использовании указанных стилевых свойств.
Значения свойств | Ширина | ||||
---|---|---|---|---|---|
min-width | < | width | < | max-width | width |
width | < | max-width | width | ||
width | > | max-width | max-width | ||
min-width | > | width | > | max-width | min-width |
min-width | > | width | < | max-width | min-width |
Данные из таблицы следует понимать следующим образом. Если значение ширины (width) больше значения max-width, то ширина элемента принимается равной значению max-width.
Краткая информация
Значение по умолчанию | none |
---|---|
Наследуется | Нет |
Применяется | Ко всем элементам, кроме строчных и таблиц |
Анимируется | Да |
Синтаксис
max-width: <размер> | <проценты> | none
Обозначения
Описание | Пример | |
---|---|---|
<тип> | Указывает тип значения. | <размер> |
A && B | Значения должны выводиться в указанном порядке. | <размер> && <цвет> |
A | B | Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps |
A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. | width || count |
[ ] | Группирует значения. | [ crop || cross ] |
* | Повторять ноль или больше раз. | [,<время>]* |
+ | Повторять один или больше раз. | <число>+ |
? | Указанный тип, слово или группа не является обязательным. | inset? |
{A, B} | Повторять не менее A, но не более B раз. | <радиус>{1,4} |
# | Повторять один или больше раз через запятую. | <время># |
Значения
В качестве значений принимаются пиксели (px), проценты (%) и другие единицы измерения, принятые в CSS. Отрицательные значения не допускаются.
- none
- Отменяет действие этого свойства.
Пример
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Версия сайта для мобильных устройств</title> <style media=»only screen and (max-device-width:480px)»> body { max-width: 480px; /* Максимальная ширина страницы в пикселях */ } </style> </head> <body> <h2>Текст заголовка</h2> <p>Текст примера</p> </body> </html>В данном примере ширина страницы ограничена размером 480 пикселей для всех наладонных устройств. К ним относятся КПК, смартфоны и другие устройства, способные отображать HTML-документы.
Объектная модель
Объект.style.maxWidth
Спецификация
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft (Черновик спецификации) — первая черновая версия стандарта.
Браузеры
В таблице браузеров применяются следующие обозначения.
- — свойство полностью поддерживается браузером со всеми допустимыми значениями;
- — свойство браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо свойство поддерживается лишь частично, например, не все допустимые значения действуют или свойство применяется не ко всем элементам, которые указаны в спецификации.
Число указывает версию браузера, начиная с которой свойство поддерживается.
Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 24.04.2020
Редакторы: Влад Мержевич
Группирование CSS-правил в Media Queries и производительность :: Хранитель заметок
Группирование CSS-правил в Media Queries и производительность
Препроцессоры позволяют использовать медиа-запросы непосредственно внутри блока свойств. После обработки соответствующие селекторы будут заключены внутри блока медиа-запроса. Препроцессор, таким образом, меняет порядок селекторов.
Из файла test.less
@tablets: ~"(min-width: 768px) and (max-width: 979px)";
@mobile: ~"(max-width: 767px)";
.widget {
float: left;
width: 25%;
@media @tablets { float: none; width: 100%; }
@media @mobile { display: none; }
> .title {
font-size: 18px;
@media @tablets { font-size: 16px; font-weight: bold; }
}
}
получаем test.css
.widget {
float: left;
width: 25%;
}
@media (min-width: 768px) and (max-width: 979px) {
.widget {
float: none;
width: 100%;
}
}
@media (max-width: 767px) {
.widget {
display: none;
}
}
.widget > .title {
font-size: 18px;
}
@media (min-width: 768px) and (max-width: 979px) {
.widget > .title {
font-size: 16px;
font-weight: bold;
}
}
Главное удобство этого подхода в том, что селекторы в исходном файле располагаются в непосредственной близости. Такую запись легко читать и исправлять. Даже в конечном CSS они будут располагаться друг за другом. Это, на мой взгляд, гораздо удобнее, чем группировать все правила для медиа-запросов в одном файле и подключать его в конец стилей.
Побочным эффектом этого будет лишь то, что в результирующем CSS-файле каждый раз будет создаваться новый блок @media
при каждом использовании. Но это не так уж и плохо.
- Одинаковые последовательности символов отлично сжимаются при передаче с HTTP-сервера, если настроено сжатие файлов.
- Отдельные блоки Media Queries почти не влияют на производительность браузера при рендеринге страницы.
Измерить производительность браузера можно тестовым сценарием , в котором разные правила сгруппированы в один медиа-запрос или находятся каждое в своем запросе. Эксперименты показывают, что хоть браузерам и приходится каждый раз проверять соответствие условия медиа-запроса текущему окружению, но затраты на это не существенны.
Ещё заметки со схожей тематикой
Выбор между медиа-запросами минимальной и максимальной ширины — Haystack
Мне часто задают вариант следующего вопроса:
Следует использовать медиа-запросы минимальной или максимальной ширины?
Очевидный ответ, конечно, «да». Но вы знаете, о чем они спрашивают: какой из двух вариантов лучше ?
Те, для кого адаптивный дизайн стал второй натурой, могут посчитать это странным вопросом и будут знать, что ответ — «это зависит от обстоятельств».Но, увидев множество реализаций адаптивного дизайна, мне стало ясно, что многие дизайнеры и разработчики не совсем уверены. И я рад поделиться своим мнением о том, что означает «зависит от обстоятельств» в отношении этого конкретного вопроса.
Первый рабочий стол и максимальная ширина
Есть приличное количество дизайнеров / разработчиков, которые все еще считают «рабочий стол» своим основным воплощением дизайна, а другие (обычно меньшие) размеры — второстепенными; часто это кажется запоздалым размышлением, поскольку могут быть значительные визуальные подсказки относительно количества усилий, которые были вложены в эти другие размеры экрана по сравнению с их настольными аналогами.Часто, когда кто-то исследует CSS этих сайтов, предпочтительной функцией мультимедиа является «max-width».
В этом есть смысл. Если дизайн создается в первую очередь для настольных компьютеров, то весь CSS для настольной версии дизайна уже написан и должен быть заменен дополнительным CSS для любых других точек останова. Если заданная ширина рабочего стола является нашей базовой линией, и мы не желаем или не можем реорганизовать наш CSS, то кажется логичным переопределить то, что сейчас является нашим базовым CSS для , все ширины окна просмотра на те, которые мы хотим применить только к меньшей ширине.
Это может привести к ситуации, о которой я часто шутил: стилей письма только для того, чтобы потом отменить их . Это пример, который я часто использую (предположим, что . Связанный
имеет форму боковой панели):
.содержание {
ширина: 60%;
}
.связанные с {
ширина: 40%;
}
@media screen и (max-width: 37,4em) {
.содержание,
.связанные с {
ширина: 100%;
}
}
В приведенном выше примере многое упущено, но я уверен, что вы уловили идею.Этот подход, когда он используется для нескольких компонентов, может значительно увеличить объем CSS, необходимый для завершения проекта. Но главная проблема заключается в том, насколько это нелогично, потому что, если принять тот факт, что элементы блочного уровня по умолчанию на 100% являются родительскими, то следующее имеет гораздо больший смысл:
@media screen и (min-width: 37,5em) {
.содержание {
ширина: 60%;
}
.связанные с {
ширина: 40%;
}
}
Здесь мы используем состояние по умолчанию для элементов уровня блока, а переопределяем их, когда им нужно изменить значение по умолчанию .Опять же, некоторым читателям это может показаться ясным, но не нужно смотреть на источник многих веб-сайтов, прежде чем вы поймете, почему я разъясняю это здесь.
Использование максимальной ширины вопреки здравому смыслу
Есть несколько причин, по которым, даже если вы знаете лучше, вы можете сознательно выбрать подход, аналогичный подходу max-width
, описанному выше:
- Вы разработчик и получили от дизайнера композиции только для настольных ПК, для настольных ПК или других размеров как опоздание.Как ты можешь знать? Если вы разработали или получили дизайн только для настольных компьютеров, то это то, с чем вы имеете дело. Если у вас есть хороший детализированный дизайн, похожий на настольный, с добавлением нескольких примеров для мобильных устройств или планшетов, то это то, с чем вы имеете дело. В этих случаях может быть с вами
max-width
, если у вас нет бюджета и / или графика, позволяющего провести рефакторинг во время разработки. - Вы делаете существующий веб-сайт адаптивным, а существующий CSS — это дизайнерский багаж, который вы унаследовали и не можете изменить ни по какой причине.
- Вы компенсируете тот факт, что в настоящее время у нас нет запросов к элементам, и вы обрабатываете это с помощью CSS вместо использования полифила JavaScript для несуществующей спецификации.
Итак, что лучше использовать?
Вот мое пояснение «в зависимости от обстоятельств» для этого конкретного вопроса. И помните, что это всего лишь мое собственное мнение, основанное на моем собственном опыте: посмотрите на отображение данного элемента по умолчанию. Если вам нужно изменить это значение по умолчанию для небольших экранов, используйте max-width
.Если значение по умолчанию можно использовать на маленьких экранах, используйте минимальную ширину
и только тогда, когда элемент должен отклоняться от значения по умолчанию. И, конечно же, я рекомендую позволить контенту определять, где это происходит.
Хорошим примером использования max-width
для переопределения отображения элемента по умолчанию, чтобы он лучше работал на небольших экранах, является использование таблиц. Представьте себе таблицу, в которой слишком много содержимого для отображения в форме по умолчанию на маленьких экранах. Один подход может быть:
@media only screen и (max-width: 30em) {
.большой стол tr,
.big-table td {
дисплей: блок;
}
}
Это превращает каждую строку (и ячейку) в блок на узких экранах. Таблица может стать довольно длинной по вертикали, и обычно требуется больше стилей, но часто это лучше, чем горизонтальная прокрутка вперед и назад, которая в противном случае потребовалась бы для чтения содержимого.
В этом случае имеет смысл оставить таблицу в форме по умолчанию, за исключением браузеров, которые понимают медиа-запросы и где экран не больше, чем, в данном случае, 30em
.
Другие элементы (осмелюсь сказать, что большинство других элементов ), которые имеют значения по умолчанию, которые отлично работают на небольших экранах, их нужно менять только при необходимости на больших экранах ; использование min-width
— хороший выбор.
Вкратце: пусть значения элемента по умолчанию помогают определить, какую мультимедийную функцию использовать в ваших мультимедийных запросах.
Спасибо Брэду Фросту за обзор. У него также есть пост со связанными темами.
Какие точки останова медиа-запроса следует использовать? (2021)
Когда вы создаете адаптивный веб-сайт, может быть непонятно, как именно писать медиа-запросы и какие точки останова следует использовать.
Следует ли использовать min-width
или max-width
в ваших медиа-запросах? И на какие устройства следует нацеливать точки останова?
Мы ответим на эти и другие вопросы в этом руководстве.
Итак, сначала немного контекста:
Что такое медиа-запросы в CSS?
Медиа-запросы — это тип at-правила CSS, которое мы можем использовать для определения определенных условий для наборов стилей CSS.
Именно они делают возможным адаптивный дизайн.В адаптивном дизайне мы обычно используем ширину устройства в качестве критерия при написании медиа-запросов. Таким образом, мы можем использовать разные правила CSS в зависимости от того, загружает ли пользователь веб-сайт с экрана телефона, планшета или рабочего стола.
Давайте посмотрим, как можно использовать медиа-запросы. Вот быстрый пример CSS для элемента h2
:
h2 {
размер шрифта: 3rem;
}
@media (min-width: 43em) {
h2 {
размер шрифта: 3,75 бэр;
}
}
В этом примере вверху мы сначала устанавливаем размер шрифта по умолчанию
тега h2
на 3rem.
Затем у нас есть at-правило медиа-запроса с вложенным в него правилом стиля CSS. Это альтернативное правило установит размер шрифта
для элементов h2
на 3.75rem.
Синтаксис медиа-запроса
При внимательном рассмотрении самого медиа-запроса мы видим, что он состоит из двух частей:
Мультимедийная функция, на которую мы ориентируемся, — это ширина области просмотра пользователя (размер его экрана или окна браузера). Мы ориентируемся на диапазон ширины, используя min-width
в правиле мультимедийных функций, чтобы любое окно просмотра с шириной 43em (688 пикселей) или больше соответствовало критериям.
Если область просмотра пользователя соответствует критериям медиа-запроса, то вступит в силу правило CSS в этом медиа-запросе. Он переопределит первое правило CSS, потому что CSS в медиа-запросе более конкретен, чем первое правило.
Что такое точки останова в CSS?
В адаптивном дизайне ширина, на которую мы нацелены в наших медиа-запросах, называется точками останова, потому что это точка, в которой мы будем изменять правила CSS.
Например, для наших стилей тегов h2
наша точка останова имеет ширину 43em (688 пикселей).
Это означает, что при ширине области просмотра менее 688 пикселей элементы h2
будут иметь размер шрифта
, равный 3rem. Тогда при 688px и выше любые теги h2
будут иметь размер 3.75rem.
У вас также может быть более одной точки останова для селекторов CSS. Вы можете добавить дополнительные медиа-запросы, чтобы продолжить изменение размера h2
по мере увеличения области просмотра до 62em (992px) и 87em (1392px) в ширину.
Вы можете создать столько точек останова, сколько захотите, и вы можете использовать любую ширину, какую захотите.
Существует большая свобода установки точек останова. Итак, сколько точек останова вы должны использовать в своих медиа-запросах? А какую ширину использовать?
Какие точки останова следует использовать?
Вот одно эмпирическое правило — не пытайтесь создавать тонны медиа-запросов с точками останова, нацеленными на любую ширину существующего устройства.
Это было практикой еще на заре адаптивного дизайна. Но в наши дни, когда у нас так много разных телефонов, планшетов и экранов, это просто непрактично.Вы получите только запутанное (и неэффективное) количество медиа-запросов.
Вместо этого попробуйте выбрать точки останова в зависимости от вашего дизайна.
Например, предположим, что у вас есть дизайн, в котором вы хотите, чтобы на рабочем столе было две колонки, а на мобильных и планшетных устройствах — в одну.
Мобильный дизайн с одной колонкойНачиная с мобильной ширины и продвигаясь вверх, выберите точку ширины области просмотра, в которой вы хотите, чтобы дизайн изменился на две колонки. Это будет ваша точка останова.
Дизайн рабочего стола с двумя столбцамиВ общем, я обычно начинаю с диапазона из трех или четырех точек останова, которые охватывают ширину от мобильных устройств до больших экранов.
Допустим, вы установили точки останова в ширину 43em (688px), 62em (992px) и 82em (1312px). Вы знаете, что все телефоны будут иметь размер менее 688 пикселей, большинство планшетов будут иметь размер от 688 пикселей до 992 пикселей, меньшие экраны будут иметь размер от 992 пикселей до 1312 пикселей, а большие экраны будут иметь размер больше 1312 пикселей.
Этот подход позволяет охватить любые все устройства в пределах этих диапазонов ширины области просмотра.
Работа с меньшим набором точек останова поможет вам сохранить согласованность ваших адаптивных стилей. И я определенно рекомендую вам сначала выбрать набор точек останова и использовать те же точки останова для всех элементов в вашем проекте.
Таким образом, вы не создадите случайные точки останова разной ширины и не создадите потенциально неожиданное поведение. Делайте вещи простыми и придерживайтесь одного набора точек останова. Вы всегда можете добавить дополнительную точку останова, если вам это действительно понадобится позже.
Следует ли использовать в точках останова минимальную или максимальную ширину?
Один частый вопрос, который я часто вижу: следует ли использовать min-width
, max-width
или и то, и другое в контрольных точках медиа-запроса.
Подход, который, как я вижу, использует большинство людей, и который я предпочитаю, заключается в использовании только min-width
в ваших точках останова. Адаптивные фреймворки, такие как Bootstrap и Foundation, и отраслевые сайты, такие как CSS Tricks и Smashing Magazine, используют этот метод.
Таким образом, вы можете установить мобильные стили в качестве стилей по умолчанию без каких-либо медиа-запросов. Затем вы добавляете стили для постепенно увеличивающихся устройств с помощью медиа-запросов минимальной ширины.
Этот подход, ориентированный на мобильные устройства, — это то, что мы сделали в нашем примере h2
. Он работает довольно хорошо в большинстве случаев, особенно потому, что большая ширина области просмотра, как правило, требует дополнительных стилей CSS, которые вам не нужны для мобильной ширины.
Интересно, как это будет выглядеть в реальном приложении?
Допустим, мы хотим использовать flexbox для создания макета из двух столбцов для веб-сайта.
В нашей разметке HTML у нас есть два элемента в нашем теге
:
для основного содержимого и для боковой панели:
<тело>
<основной>
Вот наш основной контент!
<сторона>
Вот содержание нашей боковой панели!
В наших стилях CSS мы хотим разместить боковую панель под нашим основным контентом, чтобы все было в одном столбце.Поэтому нам не нужны дополнительные стили для мобильных устройств.
На рабочем столе большей ширины мы хотим включить flexbox и отображать макет в два столбца. Мы можем сделать это в CSS, создав медиа-запрос с критерием 62em (992px), который вступит в силу, начиная с меньшей ширины рабочего стола.
Вот CSS для этого:
@media (min-width: 62em) {
body {display: flex; }
main {flex: 1 0 75%; }
в сторону {flex: 1 0 25%; }
}
А что, если бы вместо этого мы хотели использовать медиа-запросы max-width
? Это определенно возможно, но нам придется отказаться от гибкого бокса для мобильных устройств и планшетов, например:
корпус {дисплей: гибкий; }
main {flex: 1 0 75%; }
в сторону {flex: 1 0 25%; }
@media (max-width: 62em) {
тело {дисплей: блок; }
}
В этом случае наши стили по умолчанию для рабочего стола используют flexbox.И мы должны отменить flexbox для ширины области просмотра меньше 62em (992px), установив
на display: block
вместо display: flex
.
Должны ли вы использовать пиксели, rem или em в ваших точках останова?
Возможно, вы заметили, что я использую в контрольных точках em
единиц вместо пикселей. Пиксели более знакомы большинству из нас, но в CSS они являются абсолютными единицами измерения. Это означает, что они не меняются по отношению к какому-либо другому фактору.
Напротив, относительные единицы, такие как em
, rem
и vw
, получают свой окончательный размер на основе других факторов, таких как font-size
их родительского элемента или размер корневого шрифта, установленный в браузер.
Чтобы преобразовать
em
в пиксели для точек останова, вы можете умножитьem x 16
, чтобы получить окончательное количество пикселей.16
— это потому, что в браузерах размер шрифта по умолчанию установлен на 16 пикселей. Чтобы вычислить это, требуется немного математики, но, опять же, как только вы определили, какие значения ширины точки останова вы будете использовать, вы можете повторно использовать их для всех ваших медиа-запросов.
Проблема с использованием пикселей в CSS (не только для точек останова, но и для размера шрифта) заключается в том, что они являются абсолютными и неизменными, и они не дают пользователям возможности настраивать их при необходимости. Это проблема с доступностью, поэтому использование пикселей для таких важных измерений, как размер шрифта и ширина точки останова, как правило, не является лучшим решением.
Зелл Лью (Zell Liew) подробно описал тесты, которые он провел с точками останова и различными модулями, и пришел к выводу, что точки останова на
были «единственным модулем, который стабильно работал во всех четырех браузерах.«В Safari есть некоторые ошибки, которые Дэн Бурзо задокументировал, когда при увеличении масштаба мобильная точка останова отображается раньше, чем следовало бы.
Я бы отдал приоритет доступности над ошибками Safari, поэтому я все еще использую единицы em
.
Я надеюсь, что эта статья помогла объяснить, какие точки останова вы должны использовать в своих медиа-запросах!
Узнайте о медиа-запросах CSS для всех устройств @ TwentySixForty
CSS-медиа-запросах для всех устройств Обзор.
В этом руководстве будет рассказано, что такое медиа-запросы CSS, различные типы медиа, синтаксис медиа-запросов CSS и как использовать медиа-запросы CSS для всех устройств.Я также объясню подходы, ориентированные на мобильные устройства и настольные компьютеры, 3 типа медиазапросов Bootstrap CSS и места для размещения медиазапросов в вашей таблице стилей.
Quickies.
Что такое медиа-запросы CSS?
Медиа-запросы CSS дают вам возможность назначать правила CSS для веб-страницы на условной основе. Это позволяет использовать разные стили в зависимости от таких вещей, как размер экрана, разрешение экрана, ориентация экрана и / или тип устройства.
Типы носителей.
Медиа-запросы CSS позволяют нам выбирать 3 типа мультимедиа: экран, печать, речь и все остальное. Если тип носителя не объявлен, будут использоваться все.
Тип носителя экрана.
Тип носителя screen используется для экранов компьютеров. Настольные компьютеры, ноутбуки, планшеты и мобильные устройства.
Тип носителя для печати.
Тип носителя для печати используется для принтеров. Документы и постраничный материал просматриваются в режиме предварительного просмотра.
Тип носителя речи.
Тип носителя речи используется для программ чтения с экрана и устройств, которые читают веб-страницу вслух.
Все типы носителей.
Если вы не укажете тип мультимедиа, будет использоваться Все, и он нацелен на все типы мультимедиа.
Синтаксис медиа-запросов CSS.
Первая часть синтаксиса медиа-запроса - @media. После этого вы можете объявить тип носителя, если хотите. Если тип носителя не объявлен, будет использоваться Все. Далее идет логический оператор, и вы можете использовать Or, Not или And. Наконец, вы должны включить хотя бы одно выражение. Пример:
@media screen и (min-width: 992px) {
п{
цвет: # 0000ff;
}
}
Приведенный выше код сделает весь текст абзаца синим на всех экранах, ширина которых превышает 992 пикселей.
Что лучше: сначала мобильные или настольные?
Я не собираюсь вдаваться в дискуссию о дизайне, ориентированном на мобильные устройства и настольные компьютеры, но вот краткое объяснение различных подходов.
Mobile-First Approach.
Подход, ориентированный на мобильные устройства, или прогрессивное развитие, заключается в разработке веб-сайта специально для мобильного устройства. После завершения мобильного дизайна его можно адаптировать и настроить для работы на планшетах и настольных компьютерах. Мобильная версия сайта является приоритетом в этом подходе.
Настольный подход.
Подход, ориентированный на настольные компьютеры, или постепенная деградация, предполагает создание веб-сайта специально для настольных устройств. После завершения первоначального дизайна сайт модифицируется для работы на планшетах и мобильных устройствах. Настольная версия сайта является приоритетом в этом подходе.
Bootstrap CSS Media Queries.
Bootstrap - очень популярный интерфейсный инструментарий, используемый для создания адаптивных веб-сайтов. Ниже приведены точки останова CSS Bootstrap по умолчанию, которые вы можете использовать.Есть много других наборов точек останова CSS для всех типов устройств. Если вам нужен более конкретный набор медиа-запросов, посетите этот веб-сайт: CSS Tricks.
/ * Первые точки останова Bootstrap 4 для мобильных устройств * /
// Маленькие устройства (телефоны с горизонтальной ориентацией, 576 пикселей и выше)
@media (min-width: 576 пикселей) {
}
// Средние устройства (планшеты, 768 пикселей и выше)
@media (min-width: 768 пикселей) {
}
// Большие устройства (настольные компьютеры, 992 пикселей и выше)
@media (min-width: 992px) {
}
// Очень большие устройства (большие рабочие столы, 1200 пикселей и выше)
@media (min-width: 1200 пикселей) {
}
/ * Первые точки останова Bootstrap 4 Desktop * /
// Большие устройства (рабочие столы, менее 1200 пикселей)
@media (максимальная ширина: 1199.98px) {
}
// Средние устройства (планшеты, менее 992 пикселей)
@media (max-width: 991.98px) {
}
// Маленькие устройства (телефоны с горизонтальной ориентацией, менее 768 пикселей)
@media (max-width: 767,98 пикселей) {
}
// Очень маленькие устройства (портретные телефоны, менее 576 пикселей)
@media (max-width: 575,98 пикселей) {
}
/ * Целевые точки останова Bootstrap 4 * /
// Очень большие устройства (большие рабочие столы, 1200 пикселей и выше)
@media (min-width: 1200 пикселей) {
}
// Большие устройства (настольные компьютеры, 992 пикселей и выше)
@media (min-width: 992px) и (max-width: 1199.98px) {
}
// Средние устройства (планшеты, 768 пикселей и выше)
@media (min-width: 768px) и (max-width: 991.98px) {
}
// Маленькие устройства (телефоны с горизонтальной ориентацией, 576 пикселей и выше)
@media (min-width: 576px) и (max-width: 767.98px) {
}
// Очень маленькие устройства (портретные телефоны, менее 576 пикселей)
@media (max-width: 575,98 пикселей) {
}
Где я могу разместить медиа-запросы CSS в моей таблице стилей?
Медиа-запросы CSS следует размещать внизу таблицы стилей. Это не только позволяет упорядочить вещи и упростить поиск, но и если у вас есть повторяющийся стиль вне и ниже запроса, он переопределит стиль внутри медиа-запроса.
Дополнительные сообщения.
максимальная ширина устройства против максимальной ширины? Какой мне использовать?
Я долго боролся с этим вопросом, а также какое-то время путал пиксель устройства с пикселем CSS. Я хотел бы поделиться своими выводами и надеюсь, что это кому-то поможет.
Здесь мы обсудим максимальную ширину. То же самое, естественно, касается min и height.
Разница
max-width - ширина целевой области отображения, т.е.грамм. браузер; max-device-width - это ширина всей области рендеринга устройства, то есть фактического экрана устройства.
- Если вы используете max-device-width , при изменении размера окна браузера на рабочем столе стиль CSS не изменится на другие настройки медиа-запроса;
- Если вы используете max-width , когда вы изменяете размер браузера на рабочем столе, CSS изменится на другую настройку медиа-запроса, и вы можете быть показаны со стилем для мобильных устройств, например, сенсорными меню .
Какой использовать
С медиа-запросами CSS вы можете использовать max-device-width или max-width. Лично я предпочитаю максимальную ширину, так как она также придает рабочему столу отзывчивый вид. Единственный случай, когда я могу думать об использовании max-device-width, а не max-width, - это когда нам нужно поддерживать что-то согласованное, даже когда размер окна браузера был изменен. Например, отзывчивый слайдер Menucool (Ninja Slider) позволяет использовать разные пиксели изображения для разных устройств, которые лучше всего подходят.Не ожидается переключения на изображение другого размера при изменении размера экрана, поскольку изображение уже загружено, поэтому ползунок использует подход ширины экрана (max-device-width).
Книжная или альбомная ориентация
Вы должны знать, что для некоторых устройств, таких как iPhone и iPad, max-device-width или max-width всегда соответствуют ширине устройства в портретном режиме (320 пикселей для iPhone, 768 пикселей для iPad), независимо от того, находится устройство в портретном режиме или нет.У других устройств его max-device-width или max-width изменяется в зависимости от его ориентации.
Если вы хотите зафиксировать ориентацию устройства и применить к нему определенные стили:
@media screen и (max-device-width: 640 пикселей) и (ориентация: альбомная) { / * здесь немного CSS * / }
Не путайте пиксели устройства с пикселями CSS
Иногда можно услышать об устройстве разное разрешение экрана. Возьмем, к примеру, iPhone, разрешение 320x480 для iPhone 3, 640x960 для iPhone 4 и 640x1136 для iPhone 5.
Это связано с дисплеем Retina iPhone 4/5, который помещает два пикселя устройства в каждый пиксель CSS на экране.
Обычно вам не нужно беспокоиться о пикселе устройства. Поскольку в медиа-запросах CSS значение max-device-width или max-width основано на пикселе CSS, а не на пикселе устройства.
В очень редком случае, когда вы действительно хотите использовать разные стили для iPhone 3 и iPhone 4, вы можете:
/ * для iPhone 4 * / @media screen и (max-width: 480px) и (-webkit-min-device-pixel-ratio: 2) { ...... }
Что такое медиа-запрос максимальной и минимальной ширины
Максимальную ширину и минимальную ширину можно использовать вместе, чтобы настроить таргетинг на определенный диапазон размеров экрана. Вышеупомянутый запрос будет запускаться только для экранов шириной 600–400 пикселей. Это можно использовать для нацеливания на определенные устройства с известной шириной., @ Media screen и (min-width: 300px) { #sizeA {Цвет: красный; Размер шрифта: 200%; }}, «» » Только экран @media и (max-width: 600 пикселей) {…} На самом деле этот запрос означает: «Если [ширина устройства] меньше или равна 600 пикселей, выполните {…}» «» »
Добавьте класс и нужный CSS между тегами стилей.В данном случае это класс .100pc
, который аналогичен классам, широко используемым на мобильных устройствах, чтобы заставить таблицы и элементы растягиваться на всю ширину устройства или содержащие таблицу.
<стиль> .100pc { Ширина: 100%; }
загрузить больше v
Давайте рассмотрим еще несколько примеров использования медиа-запросов. Еще одно распространенное использование медиа-запросов - скрытие элементов на экранах разных размеров:, Вы также можете использовать медиа-запросы для изменения размер шрифта элемента на разные размеры экрана:, В этом примере мы используем медиа-запросы вместе с flexbox для создания отзывчивой галереи изображений:
Минимальная ширина до максимальной ширины
Вы также можете использовать (max-width: .. ) и (min-width: .. )
, чтобы установить минимальную и максимальную ширину.
(max - width: ..) и (min - width: ..)
Я обнаружил, что лучший способ - написать CSS по умолчанию для старых браузеров, так как старые браузеры (включая IE 5.5, 6, 7 и 8) не может читать @media. Когда я использую @media, я использую его так:, Если вы хотите включить как минимальную, так и максимальную ширину для быстрого реагирования в браузере, вы можете использовать следующее:, Но вы можете делать все, что захотите, с вашим @media.Это всего лишь пример того, что я нашел для себя лучше всего при создании стилей для всех браузеров., 960 пикселей лучше, я помню, что читал, что вы должны сэкономить 20 пикселей для вертикальной полосы прокрутки в некоторых браузерах, которые плохо работают. - Медено 9 ноя '13 в 2:36
Я обнаружил, что лучший способ - написать CSS по умолчанию для старых браузеров, так как старые браузеры (включая IE 5.5, 6, 7 и 8) не может прочитать @media
. Когда я использую @media
, я использую его так:
загрузить больше v
Синтаксис медиа-запроса CSS для вызова внешней таблицы стилей выглядит следующим образом:, Есть ли причина, по которой вы используете @media all и (max-width :...), когда все уже подразумевается?, демонстрация Итана Маркотта для A List Apart не использует медиа-запросы, но показывает другие способы, которыми может быть эффективно гибкий дизайн. Сегодня я буквально перезапустил свой сайт, используя запросы @media. Не стесняйтесь проверить это. Весь CSS находится на странице, так как это тема tumblr.
Синтаксис медиа-запроса CSS для вызова внешней таблицы стилей выглядит следующим образом:
загрузить больше v
Медиа-запросы полезны, когда вы хотите изменить свой сайт или приложение в зависимости от общего типа устройства (например, печать или экран) или конкретных характеристик и параметров (таких как разрешение экрана или браузер ширина области просмотра)., Медиа-запросы используются для следующего:, Медиа-запросы уровня 4 также добавляют способы комбинировать медиа-запросы с использованием полной логической алгебры с и, не, и или., Условные правила Использование функциональных запросов
загрузить больше v
Взглянув на файл CSS, вы заметите, что медиа-запрос имеет минимальную ширину 320 пикселей и максимальную ширину 576 пикселей.Это просто означает, что все стили, которые войдут в это правило, будут применимы только к устройствам с очень малой и малой шириной. Без установки диапазона ширины стили CSS из приведенного выше фрагмента будут применяться ко всем устройствам с минимальным размер экрана 576 пикселей и выше. В этом кратком руководстве вы увидите, как установить несколько свойств ширины в правиле медиа-запроса. А пока давайте сначала рассмотрим основы. Буквально вы говорите, что при этой конкретной ширине (то есть свойстве max-width 576px) CSS, пожалуйста, примените стили, которые я напишу здесь, к этой ширине в одиночку, начиная с начальной ширины 0 пикселей.
Базовый медиа-запрос выглядит так:
@media only screen and (max - width: 576 px) { // сделай что-нибудь } Только экран @media и (минимальная ширина: 576 пикселей) { // делаем что-то еще раз }
загрузить больше v
Контейнеры являются самым основным элементом макета в Bootstrap и необходимы при использовании нашей сеточной системы по умолчанию. Выберите из адаптивного контейнера фиксированной ширины (что означает, что его максимальная ширина изменяется в каждой точке останова) или гибкой ширины (что означает, что он всегда на 100% шириной).Аналогичным образом медиа-запросы могут охватывать несколько значений ширины точки останова:, Используйте .container-fluid для контейнера полной ширины, охватывающего всю ширину области просмотра., Существуют также медиа-запросы и миксины для нацеливания на один сегмент размеров экрана с использованием минимального и максимальная ширина точки останова.
загрузить больше v
Другие запросы «ширины носителя», связанные с «Что такое медиа-запрос максимальной и минимальной ширины»
css - Максимальная ширина медиа-запроса не работает для веб-компонента Lightning
- Ниже показано, как настроить таргетинг на элемент
p
и максимальную ширину
@media screen и (min-width: 900px) {
п {
фон: черный;
цвет белый;
}
}
@media screen и (max-width: 900px) {
п {
фон: синий;
цвет белый;
}
}
- В LWC предпочтительно использовать размер устройства.Ниже как он себя ведет:
-
Размер
является обязательным, если вам нужен индивидуальный адаптивный дизайн, определяя large, mediu и small . -
размер
начинается с 0 шириной . - Если вы просто дадите
size
иmedium-device-size
, size будет взят для 0 до средней ширины. Образец бывает малым или большим. -
small
- это горизонтальный вид практически для всех мобильных телефонов - это очень важный момент.Следовательно, размери
должны быть максимальными частями, чтобы всегда соответствовать мобильному вертикальному обзору.
Ниже приведены примеры:
- Рассмотрим код ниже:
<многорядная молния>
... содержание ...
... содержание ...
... содержание ...
Это отобразит 3 столбца в вертикальном просмотре для мобильных устройств и один столбец в горизонтальном просмотре для мобильных устройств. Таким образом, вам нужно, чтобы размер и
всегда были максимальными частями для всех размеров устройства - что в данном случае означает 12
.
- Для примера ниже:
... содержание ...
... содержание ...
... содержание ...
Для больших экранов вы получите 3 столбца, а для любого устройства меньше будет один столбец
- Для примера ниже:
... содержание ...
... содержание ...
Это просто - мобильный вертикальный или горизонтальный вид будет иметь отдельные столбцы. Средние устройства, такие как планшеты, будут иметь 2 столбца, а рабочие столы - 3 столбца.
Как написать медиа-запрос CSS?
Адаптивный веб-дизайн - это подход к созданию веб-страниц, где эти страницы могут динамически изменять свой макет и внешний вид в зависимости от размера экрана посетителя. Большие экраны получают макет, подходящий для этих больших дисплеев, в то время как устройства меньшего размера, такие как мобильные телефоны, получают тот же веб-сайт, отформатированный таким образом, который подходит для этого меньшего экрана.Такой подход обеспечивает лучший пользовательский опыт для всех пользователей и даже может помочь улучшить рейтинг в поисковых системах. CSS Media Queries составляют важную часть адаптивного веб-дизайна.
Медиа-запросы подобны небольшим условным операторам внутри файла CSS вашего веб-сайта, позволяя вам устанавливать определенные правила CSS, которые вступят в силу только при выполнении определенного условия, например, когда размер экрана выше или ниже определенных пороговых значений.
Media Queries теперь являются стандартными, но очень старые версии Internet Explorer не поддерживают их.
Медиа-запросы в действии
Начните с хорошо структурированного HTML-документа без каких-либо визуальных стилей.
В вашем файле CSS задайте стиль для страницы и установите базовый уровень того, как будет выглядеть веб-сайт. Чтобы отобразить размер шрифта страницы в 16 пикселей, напишите этот CSS:
.body {font-size: 16px; }Чтобы увеличить этот размер шрифта для больших экранов с достаточным пространством для этого, запустите Media Query следующим образом:
@media screen and (min-width: 1000px) {}Это синтаксис медиа-запроса.Он начинается с @media , чтобы установить сам Media Query. Затем установите тип носителя, которым в данном случае является экран . Этот тип применяется к экранам настольных компьютеров, планшетам, телефонам и т. Д. Завершите медиа-запрос с помощью медиа-функции . В нашем примере выше это средней ширины: 1000 пикселей . Это означает, что Media Query срабатывает для дисплеев с минимальной шириной 1000 пикселей.
После этих элементов медиа-запроса добавьте открывающую и закрывающую фигурные скобки, аналогичные тем, которые вы бы сделали в любом обычном правиле CSS.
Последним шагом к медиазапросу является добавление правил CSS, которые будут применяться после выполнения этого условия. Вставьте эти правила CSS между фигурными скобками, составляющими медиа-запрос, например:
@media screen и (min-width: 1000px) {body {font-size: 20px; }Когда выполняются условия медиа-запроса (ширина окна браузера не менее 1000 пикселей), этот стиль CSS вступает в силу, изменяя размер шрифта нашего сайта с 16 пикселей, которые мы установили изначально, до нашего нового значения 20 пикселей.
Добавление дополнительных стилей
Поместите столько правил CSS в этот медиа-запрос, сколько необходимо для настройки внешнего вида вашего веб-сайта. Например, чтобы не только увеличить размер шрифта до 20 пикселей, но и изменить цвет всех абзацев на черный (# 000000), добавьте это:
@media screen и (min-width: 1000px) {
body {
font-size: 20px;
}p {
цвет: # 000000;
}
}
Добавление дополнительных медиа-запросов
Кроме того, вы можете добавить больше медиа-запросов для каждого большего размера, вставив их в свою таблицу стилей следующим образом:
@media screen и (min-width: 1000px) {
body {
font-size: 20px;
}p {
цвет: # 000000;
{
}@media screen и (min-width: 1400px) {
body {
font-size: 24px;
}
}
Первые медиа-запросы имеют ширину 1000 пикселей, при этом размер шрифта изменяется на 20 пикселей.