CSS-фреймворк для создания адаптивных веб-интерфейсов
По сути конструктор, где у вас уже есть готовые детали — кнопки, формы, навигационные панелиВместо того чтобы писать CSS для каждой кнопки с нуля, вы используете готовый класс
<button class="btn btn-primary">Красивая кнопка</button>
Bootstrap автоматически адаптирует ваш сайт под разные устройства — от смартфонов до больших мониторов
Фреймворк решает проблемы совместимости с разными браузерами
Все элементы выглядят согласованно и профессионально
географически распределённая сетевая инфраструктура, обеспечивающая быструю доставку контента пользователям веб-сервисов и сайтов
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Мой сайт с Bootstrap</title>
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Ваш CSS -->
<link href="styles.css" rel="stylesheet">
</head>
<body>
<!-- Ваш контент -->
<!-- Bootstrap JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<!-- Ваш JS -->
<script src="script.js"></script>
</body>
</html>
Ваш код подключается всегда после Bootstrap, чтобы в случае чего переписать существующие
правила
npm init -y
npm install bootstrap
cp node_modules/bootstrap/dist/css/bootstrap.min.css libs/.
cp node_modules/bootstrap/dist/js/bootstrap.bundle.min.js libs/.
Так как для использования модулей напрямую требуется сборщик
<link rel="stylesheet" href="libs/bootstrap.min.css">
<script src="libs/bootstrap.bundle.min.js"></script>
каждый элемент интерфейса является самостоятельным, переиспользуемым блоком со своей логикой, стилями и поведением
<button type="button" class="btn btn-primary">Primary</button>
<button type="button" class="btn btn-secondary">Secondary</button>
<button type="button" class="btn btn-success">Success</button>
Вы можете добавлять свои классы и ID для интерактивности
<button type="button" class="btn btn-primary card__button" id="send-form">Primary</button>
способ размещения элементов в ряд — это комплексная архитектура для построения responsive-дизайна
сначала проектируется для мобильных устройств, затем масштабируется для больших экранов
Container (Контейнер) → Row (Строка) → Column (Колонка)
рамка, внутри которой размещается весь контент
<!-- БЕЗ container - контент растягивается на всю ширину -->
<div style="background: lightblue;">
Этот текст растягивается на весь экран. На мониторе 1920px это очень неудобно читать.
</div>
<!-- С container - контент ограничивается разумной шириной -->
<div class="container" style="background: lightgreen;">
А этот текст ограничивается максимальной шириной и центрируется. Читать удобно!
</div>
Будет зависеть от ширины экрана пользователя
.container {
max-width: 1140px; /* На больших экранах не шире этого значения */
margin: 0 auto; /* Центрирует контейнер */
}
конкретная ширина экрана, при которой макет сайта кардинально изменяется
| Название | Класс | Диапазон ширины | Типичные устройства | Max-width контейнера |
| Extra small | xs | <576px | Телефоны (портрет) | 100% |
| Small | sm | ≥576px | Телефоны (альбом) | 540px |
| Medium | md | ≥768px | Планшеты | 720px |
| Large | lg | ≥992px | Ноутбуки | 960px |
| Extra large | xl | ≥1200px | Мониторы | 1140px |
| Extra extra large | xxl | ≥1400px | Большие мониторы | 1320px |
<div class="container" style="border: 2px solid red;">
<div class="row" style="border: 2px solid blue;">
<div class="col-6" style="border: 2px solid green; padding: 12px;">
Контент колонки
</div>
<div class="col-6" style="border: 2px solid green; padding: 12px;">
Контент колонки
</div>
</div>
</div>
В bootstrap используется 12-колоночная система
<div class="col-12 col-md-6 col-lg-4">
Адаптивная колонка
</div>
Класс g-N, где N - размер отступа
<div class="row g-3">
<div class="col-6">Текст с отступами</div>
<div class="col-6">Текст с отступами</div>
</div>