Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Добавляет статью "Mobile-first vs Desktop-first" #5450

Merged
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
0776485
Добавляет статью `Mobile-first vs Desktop-first`
reznikovAndrey Jul 18, 2024
81b3e47
Улучшает визуал, добавляет ссылки
reznikovAndrey Jul 18, 2024
cbfdfae
Удалил комментарии
reznikovAndrey Jul 18, 2024
91d5fd5
Добавляет пустую строку в конце `html` файла
reznikovAndrey Jul 18, 2024
10b06aa
Добавляет пустые строки в `.md` файлах
reznikovAndrey Jul 18, 2024
d41c903
Убирает лишний пробел
reznikovAndrey Jul 18, 2024
235e78d
Обновляет стили в верстке для демо
reznikovAndrey Jul 23, 2024
8fdd15f
Добавляет пустую строку в конце файла
reznikovAndrey Jul 23, 2024
bcdac85
Убирает контрибьюторов
reznikovAndrey Jul 27, 2024
ad83f2a
Меняет описание
reznikovAndrey Jul 27, 2024
00b87f2
Добавляет `related` статьи
reznikovAndrey Jul 27, 2024
75aa96c
Улучшает блок `Кратко`
reznikovAndrey Jul 27, 2024
232a929
Добавил главу `Особненности _Mobile-first_ подхода`
reznikovAndrey Jul 27, 2024
c577028
Убирает Trailing whitespace
reznikovAndrey Jul 27, 2024
2ae9399
Добавляет раздел `Особненности _Desktop-first_ подхода`
reznikovAndrey Jul 27, 2024
e135c26
Отредактировал блок `Как пишется`, поправил стили в демо
reznikovAndrey Jul 27, 2024
491b7cc
Добавляет `title` к демо
reznikovAndrey Jul 27, 2024
7d88163
Обновляет демку
reznikovAndrey Aug 3, 2024
c8989b4
Меняет высоту `iframe` демо
reznikovAndrey Aug 3, 2024
b3dc900
Рефакторинг демки
reznikovAndrey Aug 6, 2024
437df1a
Вносит мелкие правки по части пункутации в статью и блок "На практике"
reznikovAndrey Aug 6, 2024
4a2e35f
Вносит мелкие правки в статью
reznikovAndrey Aug 6, 2024
3444a60
Причёсывает демо
skorobaeus Aug 12, 2024
cc0d019
Изгоняет Онотоле
skorobaeus Aug 15, 2024
e1bcb37
Душнит про UI & UX
skorobaeus Aug 15, 2024
4bd9c7d
Сражается с канцеляритом
skorobaeus Aug 15, 2024
2577bd8
Упс
skorobaeus Aug 15, 2024
5f2e346
Микро-правки
solarrust Aug 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions css/mobile-first-vs-desktop-first/demos/adaptive-layout/index.html
reznikovAndrey marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<!DOCTYPE html>
<html lang="ru">

<head>
<title>DEMO — Mobile-first vs Desktop-first — Дока</title>
reznikovAndrey marked this conversation as resolved.
Show resolved Hide resolved
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto&display=swap">
<style>
* {
box-sizing: border-box;
}

body {
font-family: Roboto, sans-serif;
margin: 0;
background-color: #18191c;
}

main {
margin: 8px;
}

h1 {
text-align: center;
color: #2E9AFF;
}

.container {
display: flex;
row-gap: 8px;

flex-direction: column;
}

@media (min-width: 640px) {
.container {
flex-direction: row;
column-gap: 8px;
}
}

.card {
padding: 55px 40px;
border: 1px solid black;
text-align: center;
border-radius: 4px;
background-color: #2E9AFF;
}
</style>
</head>

<body>
<main>
<h1>Факты про кошек</h1>
<section class="container">
<article class="card">
В каждом кошачьем ухе находится более чем 30 мускулов.
</article>
<article class="card">
В среднем, коты спят по 16-18 часов в день, что составляет более 70% кошачьей жизни.
</article>
<article class="card">
Кошки не чувствуют вкуса сладкого.
</article>
<article class="card">
У кошек и людей за управление эмоциональным состоянием отвечают одинаковые отделы головного мозга.
</article>
</section>
</main>
</body>

</html>
85 changes: 85 additions & 0 deletions css/mobile-first-vs-desktop-first/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
title: "Mobile-first vs Desktop-first"
description: "Mobile-first или Desktop-first?"
reznikovAndrey marked this conversation as resolved.
Show resolved Hide resolved
authors:
- rezn1kovAndrey
solarrust marked this conversation as resolved.
Show resolved Hide resolved
contributors:
- reznikovandrey
reznikovAndrey marked this conversation as resolved.
Show resolved Hide resolved
related:
# TODO
reznikovAndrey marked this conversation as resolved.
Show resolved Hide resolved
- ""
tags:
- article
---

## Кратко
_Mobile-first_ и _Desktop-first_ — это подходы к веб-дизайну и разработке, которые определяют то, для каких устройств начинается проектирование дизайна и разработка в первую очередь.

Из-за возросшей популярности мобильных устройств, _Mobile-first_ подход в современном вебе имеет более широкое распространение, однако, существуют определенные типы приложений (CRM / ERP системы, различные дашборды), для которых _Desktop-first_ является наиболее подходящим.
reznikovAndrey marked this conversation as resolved.
Show resolved Hide resolved

## Как понять
Особенности _Mobile-first_ подхода:
- минималистичные интерфейсы;
- с точки зрения UX фокус на **мобильные сценарии использования** (сенсорное взаимодействие, навигация одной рукой);
- **прогрессивное расширение ([Progressive Enhancement](https://developer.mozilla.org/en-US/docs/Glossary/Progressive_Enhancement))** функций и интерфейсов с увеличением размера экрана.
reznikovAndrey marked this conversation as resolved.
Show resolved Hide resolved

Особенности _Desktop-first_ подхода:
- насыщенные интерфейсы;
- с точки зрения UX фокус на **использование пользователем клавиатуры и мыши**;
- **изящная деградация ([Graceful degradation](https://developer.mozilla.org/en-US/docs/Glossary/Graceful_degradation))** функций и интерфейсов с уменьшением размера экрана.

## Как пишется
Представим, что нам необходимо сверстать страницу с карточками, которые в десктопной версии располагаются в ряд, а в мобильной - в колонку.
reznikovAndrey marked this conversation as resolved.
Show resolved Hide resolved

Условимся, что делить устройства в зависимости от ширины экрана мы будем следующим образом:
- мобильные устройства `< 640px`;
- `640px <=` планшеты `< 1024px`;
- десктопные устройства `>= 1024px`.
reznikovAndrey marked this conversation as resolved.
Show resolved Hide resolved

#### Mobile-first
Прописываем стили для мобильного устройства, а далее с помощью [медиа-выражений](/css/media/) и свойства `min-width` дополняем стили.

```css
/* стили для мобильной версии */
.container {
display: flex;
flex-direction: column;
row-gap: 8px;
}

/* здесь могли бы быть дополнительные стили для планшетной версии */
@media (min-width: 640px) {}

/* стили для десктопной версии */
@media (min-width: 1024px) {
.container {
flex-direction: row;
column-gap: 8px;
}
}
```
reznikovAndrey marked this conversation as resolved.
Show resolved Hide resolved

#### Desktop-first
Прописываем стили для десктопного устройства, а далее с помощью [медиа-выражений](/css/media/) и свойства `max-width` дополняем стили.

```css
/* стили для десктопной версии */
.container {
display: flex;
flex-direction: row;
column-gap: 8px;
}

/* здесь могли бы быть дополнительные стили для планшетной версии */
@media (max-width: 1023px) {}

/* стили для мобильной версии */
@media (max-width: 639px) {
.container {
flex-direction: column;
row-gap: 8px;
}
}
```
reznikovAndrey marked this conversation as resolved.
Show resolved Hide resolved

<iframe title="Адаптивная верстка" src="demos/adaptive-layout/" height="300"></iframe>
reznikovAndrey marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Современные CSS-фреймворки и UI-библиотеки в большинстве своем также придерживаются _Mobile-first_ подхода:
reznikovAndrey marked this conversation as resolved.
Show resolved Hide resolved
- [Tailwind](https://tailwindcss.com/docs/responsive-design#working-mobile-first)
- [Material UI](https://mui.com/material-ui/getting-started/usage/#responsive-meta-tag)
Loading