HTML Diff
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 &amp; components - базовая секция со всеми компонентами и стилями страницы. Здесь находятся часто используемые функции Bootstrap: сброс стилей, типографика и сетка</li>
7 <li>Layout &amp; 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>