0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Bootstrap - большой фреймворк. Его можно воспринимать как дизайн-систему, как библиотеку с 12-колоночной сеткой или как набор компонентов.</p>
1
<p>Bootstrap - большой фреймворк. Его можно воспринимать как дизайн-систему, как библиотеку с 12-колоночной сеткой или как набор компонентов.</p>
2
<p>Часто можно услышать, что Bootstrap годится только для сетки, а остальной CSS нужно писать самостоятельно. Это нормальная практика, но часто разработчики тянут в проекте не только сетку, но и стили всех компонентов фреймворка с помощью простого подключения через CDN. А это увеличивает размер скаченных файлов пользователем до нескольких сотен килобайт.</p>
2
<p>Часто можно услышать, что Bootstrap годится только для сетки, а остальной CSS нужно писать самостоятельно. Это нормальная практика, но часто разработчики тянут в проекте не только сетку, но и стили всех компонентов фреймворка с помощью простого подключения через CDN. А это увеличивает размер скаченных файлов пользователем до нескольких сотен килобайт.</p>
3
<p>В этом уроке узнаем, как подключать только нужные части Bootstrap, и какие файлы являются обязательными. Рассмотрим это на примере использования сетки.</p>
3
<p>В этом уроке узнаем, как подключать только нужные части Bootstrap, и какие файлы являются обязательными. Рассмотрим это на примере использования сетки.</p>
4
<p>Легко узнать, какие файлы и в какой последовательности подключаются внутри Bootstrap. Для этого достаточно открыть главный файл<em>путь-к-пакету-bootstrap/scss/bootstrap.scss</em>:</p>
4
<p>Легко узнать, какие файлы и в какой последовательности подключаются внутри Bootstrap. Для этого достаточно открыть главный файл<em>путь-к-пакету-bootstrap/scss/bootstrap.scss</em>:</p>
5
<p>Файл разбит на четыре секции:</p>
5
<p>Файл разбит на четыре секции:</p>
6
<ul><li>Configuration - здесь находятся SCSS-файлы с настройками всего Bootstrap: миксины, функции, переменные. Из этих файлов впоследствии берутся все настройки для компонентов</li>
6
<ul><li>Configuration - здесь находятся SCSS-файлы с настройками всего Bootstrap: миксины, функции, переменные. Из этих файлов впоследствии берутся все настройки для компонентов</li>
7
<li>Layout & components - базовая секция со всеми компонентами и стилями страницы. Здесь находятся часто используемые функции Bootstrap: сброс стилей, типографика и сетка</li>
7
<li>Layout & components - базовая секция со всеми компонентами и стилями страницы. Здесь находятся часто используемые функции Bootstrap: сброс стилей, типографика и сетка</li>
8
<li>Helpers - хелперы. Это небольшое ответвление от утилит, например, clearfix, который помогает очистить поток при использовании свойства float</li>
8
<li>Helpers - хелперы. Это небольшое ответвление от утилит, например, clearfix, который помогает очистить поток при использовании свойства float</li>
9
<li>Utilities - утилиты Bootstrap. Секция подключает файл с Utility API, который мы изучали в уроке про создание пользовательских утилит</li>
9
<li>Utilities - утилиты Bootstrap. Секция подключает файл с Utility API, который мы изучали в уроке про создание пользовательских утилит</li>
10
</ul><p>Большинство компонентов можно просто удалять, если они не используются в проекте. Важно сохранять секцию Configuration, так как без этих файлов не смогут скомпилироваться остальные файлы.</p>
10
</ul><p>Большинство компонентов можно просто удалять, если они не используются в проекте. Важно сохранять секцию Configuration, так как без этих файлов не смогут скомпилироваться остальные файлы.</p>
11
<p>Помимо основного файла подключения разработчики Bootstrap оставили еще несколько файлов, которые подключают определенные части проекта. Рассмотрим эти файлы и подключим к проекту только сетку.</p>
11
<p>Помимо основного файла подключения разработчики Bootstrap оставили еще несколько файлов, которые подключают определенные части проекта. Рассмотрим эти файлы и подключим к проекту только сетку.</p>
12
<h2>Как подключить в проекте только сетки</h2>
12
<h2>Как подключить в проекте только сетки</h2>
13
<p>Есть несколько частых сценариев использования Bootstrap:</p>
13
<p>Есть несколько частых сценариев использования Bootstrap:</p>
14
<ul><li>Только сетка</li>
14
<ul><li>Только сетка</li>
15
<li>Только утилиты</li>
15
<li>Только утилиты</li>
16
<li>Только сброс стандартных стилей</li>
16
<li>Только сброс стандартных стилей</li>
17
<li>Использование всех частей фреймворка</li>
17
<li>Использование всех частей фреймворка</li>
18
</ul><p>Для первых трех пунктов разработчики Bootstrap позаботились заранее, поэтому в директории<em>scss/</em>находятся три файла:</p>
18
</ul><p>Для первых трех пунктов разработчики Bootstrap позаботились заранее, поэтому в директории<em>scss/</em>находятся три файла:</p>
19
<ul><li><em>scss/bootstrap-reboot.scss</em>- для подключения сброса стандартных стилей браузера. Аналог проекта<em>normalize.css</em></li>
19
<ul><li><em>scss/bootstrap-reboot.scss</em>- для подключения сброса стандартных стилей браузера. Аналог проекта<em>normalize.css</em></li>
20
<li><em>scss/bootstrap-grid.scss</em>- для подключения сетки Bootstrap. В этом случае мы получим знакомые классы container, col-*, row</li>
20
<li><em>scss/bootstrap-grid.scss</em>- для подключения сетки Bootstrap. В этом случае мы получим знакомые классы container, col-*, row</li>
21
<li><em>scss/bootstrap-utilities.scss</em>- для подключения всех утилит Bootstrap. В этом случае не будет подключена сетка и компоненты, но мы сможем пользоваться всеми утилитами и генерировать новые</li>
21
<li><em>scss/bootstrap-utilities.scss</em>- для подключения всех утилит Bootstrap. В этом случае не будет подключена сетка и компоненты, но мы сможем пользоваться всеми утилитами и генерировать новые</li>
22
</ul><p>Если нужно что-то из перечисленного, то можно подключить один из этих файлов и скомпилировать проект. Это обеспечит экономию места для пользователя.</p>
22
</ul><p>Если нужно что-то из перечисленного, то можно подключить один из этих файлов и скомпилировать проект. Это обеспечит экономию места для пользователя.</p>
23
<p>Сравним вес CSS всего Bootstrap и отдельного подключения сетки:</p>
23
<p>Сравним вес CSS всего Bootstrap и отдельного подключения сетки:</p>
24
<ul><li>Весь Bootstrap: 265Кб</li>
24
<ul><li>Весь Bootstrap: 265Кб</li>
25
<li>Сгенерированные стили при подключении только<em>scss/bootstrap-grid.scss</em>: 69Кб</li>
25
<li>Сгенерированные стили при подключении только<em>scss/bootstrap-grid.scss</em>: 69Кб</li>
26
</ul><p>Разница почти в четыре раза. Если сжать и минифицировать CSS, то разница станет еще больше. При этом мы получаем полноценный функционал по построению сеток, в том числе утилиты margin, padding, gap, display.</p>
26
</ul><p>Разница почти в четыре раза. Если сжать и минифицировать CSS, то разница станет еще больше. При этом мы получаем полноценный функционал по построению сеток, в том числе утилиты margin, padding, gap, display.</p>
27
<p>Все подключаемые утилиты можно найти в переменной $utilities:</p>
27
<p>Все подключаемые утилиты можно найти в переменной $utilities:</p>
28
<p>Если эти переменные не нужны, то можно скопировать все подключения из файла<em>scss/bootstrap-grid.scss</em>и удалить подключение утилит. При этом не стоит удалять их из основного файла, так как так мы "сломаем" будущие обновления пакета в проекте.</p>
28
<p>Если эти переменные не нужны, то можно скопировать все подключения из файла<em>scss/bootstrap-grid.scss</em>и удалить подключение утилит. При этом не стоит удалять их из основного файла, так как так мы "сломаем" будущие обновления пакета в проекте.</p>
29
<h2>Выводы</h2>
29
<h2>Выводы</h2>
30
<p>Если комбинировать различные подключения, можно оставить только те части фреймворка, которые нужны в проекте. Это уменьшит размер итогового CSS-файла, и нам не придется "тянуть в проекте" те части, которые никогда не будут использованы.</p>
30
<p>Если комбинировать различные подключения, можно оставить только те части фреймворка, которые нужны в проекте. Это уменьшит размер итогового CSS-файла, и нам не придется "тянуть в проекте" те части, которые никогда не будут использованы.</p>
31
<p>Чтобы посмотреть порядок загрузки файлов во фреймворке, можно открыть файл<em>scss/bootstrap.scss</em>. Если скопировать его в свой проект, то можно удалять или добавлять компоненты, утилиты, миксины.</p>
31
<p>Чтобы посмотреть порядок загрузки файлов во фреймворке, можно открыть файл<em>scss/bootstrap.scss</em>. Если скопировать его в свой проект, то можно удалять или добавлять компоненты, утилиты, миксины.</p>
32
<p>Для распространенных схем подключения разработчиками Bootstrap создали отдельные файлы:</p>
32
<p>Для распространенных схем подключения разработчиками Bootstrap создали отдельные файлы:</p>
33
<ul><li><em>scss/bootstrap-reboot.scss</em>- подключение сброса стандартных стилей браузера</li>
33
<ul><li><em>scss/bootstrap-reboot.scss</em>- подключение сброса стандартных стилей браузера</li>
34
<li><em>scss/bootstrap-grid.scss</em>- подключение сетки Bootstrap</li>
34
<li><em>scss/bootstrap-grid.scss</em>- подключение сетки Bootstrap</li>
35
<li><em>scss/bootstrap-utilities.scss</em>- подключение всех утилит Bootstrap</li>
35
<li><em>scss/bootstrap-utilities.scss</em>- подключение всех утилит Bootstrap</li>
36
</ul>
36
</ul>