Адаптивность
Медиа-запросы
@media screen and (min-width: 480px) and (max-width: 800px) {
.selector {...}
}
/* При печати */
@media print {
.selector {...}
}
/* Разрешение и ретина (используется редко) */
@media (min-resolution: 144dpi), (min-resolution: 1.5dppx) {
.selector {...}
}
Распростанненые брейкпоинты
yesviz.com - Список viewport устройств webmobilefirst - Спецификация viewport устройств
Desktop (720 - 3840px) 16:9
- 3840 x 2160 - 4К-мониттор - Ultra HD
- 2560 x 1440 - Quard HD (2.5K)
- 1920 x 1080 - Full HD
- 720 x 480 - HD
Laptop
Macbook Pro - Retina 2x
- 1728px - Macbook Pro 16"
- 1512px - Macbook Pro 14"
- 1440px - Macbook Pro 15"
Macbook Air - Retina 2x
- 1280px - Macbook Air 13.3"
- 1404px - Macbook Air 15.3"
Tablet (481px — 768px)
- 1280px - Galaxy Tab (landscape)
- 800px - Galaxy Tab (portrait)
- 1024px, 1080px, 1180px, 1194px, 1366px - iPads (landscape)
- 768px, 810px, 820px, 834px - iPads (portrait)
- 568px - 926px - mobile (landscape)
Mobile (360px — 480px)
- 428px - iPhone 12/13/14 Pro Max
- 414px - iPhone 11 + 6/7/8 Plus
- 393px - Xiaomi, Redmi Note
- 390px - iPhone 12/13/14 + Pro
- 375px - iPhone 6/7/8, Samsung S6, S7, S8, S9, Honor, Huawei, HTC, Sony
- 360px - iPhone 12 Mini/13 Mini
- 320px - iPhone 5/SE1 (можно забыть)
Ширины контейнеров (Desktop First)
-
Ноутбуки, мониторы (1920 - 1280px)
- 1170px (padding слева-справа 15-20px)
- 1106px - ВК (c padding 0 15px)
- 960px (padding слева-справа 15-20px)
-
Планшеты, перевернутые телефоны (1279 - 768px)
- ширина контейнера 720px (padding слева-справа 15-20px)
-
Телефоны (767 - 360px)
- ширина контейнера 100% (padding слева-справа 15-20px)
- добавлять мин. ширину 360px (если вьюпорт будет меньше 360px, то добавлять overflow-x: scroll;)
Пример скачкообразного изменения ширины контейнера:
// desktop first (max - 1280px)
.container {
width: 1170px;
padding: 0 20px;
margin: 0 auto;
}
// tablet (1279px - 768px)
@media screen and (max-width: 1279px) {
.container {
width: 720px;
}
}
// mobile (767px - min)
@media screen and (max-width: 767px) {
.container {
width: 100%;
min-width: 360px;
overflow-x: scroll;
padding: 0 15px;
// Можно добавлять макс. ширину, чтобы сильно не растягивалось
max-width: 480px;
}
}
Плотность пикселей, пикселей на дюйм (PPI)
PPI = Кол-во пикселей (Разрешение) / Ширина дисплея (в дюймах)
Считается, что на дисплей должен иметь минимум 90-100 PPI, чтобы нормально воспринимать контент (не замечать пиксели).
Всегда нужно использовать по возможность нативное, расширение монитора, это то расширение, под которое он заточен.
FullHD Монитор 24" - 92.6 (работа - 👍, гейминг - 👍, железо - 💪) 💛
- FullHD Монитор 23.8" (1920 х 1020, 16:9). Дисплей 23.8", 20.918" (Ш) x 11.77" (В)
PPI = 1920 / 20.918 = 91,78
Стандарт для FullHD мониторов. Подойдет для офиса и для гейминга. Самый распространенный вариант.