Skip to content

Адаптивная верстка

Что такое адаптивная вёрстка?

Адаптивная вёрстка - это подход к разработке сайтов, при котором интерфейс автоматически подстраивается под размер экрана пользователя, обеспечивая удобство на телефонах, планшетах, ноутбуках, мониторах и пр.

Медиа-запросы

  • @media () {} - позволяет применить CSS-правила при определённых условиях;

Например:

html
<div class="card-grid">
    <div class="card">Карточка 1</div>
    <div class="card">Карточка 2</div>
    <div class="card">Карточка 3</div>
    <div class="card">Карточка 4</div>
</div>
css
body {
    font-family: sans-serif;
    margin: 0;
    padding: 20px;
    background: #f9f9f9;
}

.card-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    border: 2px dashed #ccc;
    padding: 20px;
}

.card {
    background: #4dabf7;
    color: white;
    padding: 20px;
    flex: 1 1 calc(25% - 20px);
    box-sizing: border-box;
    text-align: center;
    font-weight: bold;
}

@media (max-width: 500px) {
    .card {
        flex: 1 1 100%;
    }
}

@media (max-width: 600px) and (min-width: 501px) {
    .card {
        flex: 1 1 calc(50% - 20px);
    }
}

Что такое calc?

  • calc() - это функция в CSS, которая позволяет выполнять вычисления прямо в значениях свойств.

Например:

css
.box {
    width: calc(100% - 40px);
}

Viewport

Viewport - это область экрана, в которой отображается веб-страница (обычно подразумевается размер видимой части браузера, без прокрутки).

Чтобы управлять масштабом и адаптацией, в <head> HTML-документа добавляют:

html
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
  • width=device-width - ширина вьюпорта равна ширине экрана устройства;
  • initial-scale=1.0 - начальный масштаб 100%.

Без этого тега сайт на телефоне будет выглядеть как уменьшенная десктопная версия.