Переход на версию 4
Bootstrap 4 — это серьезная переработка всего проекта. Ниже приведены наиболее заметные изменения, за которыми следуют более конкретные изменения соответствующих компонентов.
При переходе от бета-версии 3 к нашей стабильной версии v4.0 критических изменений нет, но есть некоторые заметные изменения.
-
Исправлены неработающие утилиты печати. Раньше использование
.d-print-*
класса неожиданно перевешивало любой другой.d-*
класс. Теперь они соответствуют другим нашим утилитам отображения и применимы только к этому носителю (@media print
). -
Расширены доступные утилиты отображения печати, чтобы соответствовать другим утилитам. В бета-версии 3 и старше были только
block
,inline-block
,inline
иnone
. Добавлена стабильная версия 4flex
,inline-flex
,table
,table-row
иtable-cell
. -
Исправлен рендеринг предварительного просмотра печати в браузерах с новыми стилями печати, которые определяют файлы
@page
size
.
Несмотря на то, что в бета-версии 2 основная часть критических изменений была внесена на этапе бета-тестирования, у нас все еще есть некоторые изменения, которые необходимо было устранить в выпуске бета-версии 3. Эти изменения применяются, если вы обновляетесь до бета-версии 3 с бета-версии 2 или любой более старой версии Bootstrap.
- Удалена неиспользуемая
$thumbnail-transition
переменная. Мы ничего не переходили, так что это был просто дополнительный код. - Пакет npm больше не содержит никаких файлов, кроме наших исходных файлов и файлов dist; если вы полагались на них и запускали наши скрипты через
node_modules
папку, вам следует адаптировать свой рабочий процесс.
-
Переписаны как пользовательские, так и стандартные флажки и радио. Теперь у обоих есть совпадающая структура HTML (внешняя
<div>
с одноуровневым<input>
и<label>
) и одинаковые стили макета (по умолчанию с накоплением, встроенный с классом модификатора). Это позволяет нам стилизовать метку на основе состояния ввода, упрощая поддержкуdisabled
атрибута (ранее требовавшегося родительского класса) и лучше поддерживая нашу проверку формы.В рамках этого мы изменили CSS для управления несколькими
background-image
флажками и переключателями пользовательских форм. Ранее удаленный.custom-control-indicator
элемент имел цвет фона, градиент и значок SVG. Настройка фонового градиента означала замену всех их каждый раз, когда вам нужно было изменить только один. Теперь у нас есть.custom-control-label::before
для заливки и градиента и.custom-control-label::after
обработки значка.Чтобы сделать пользовательскую проверку встроенной, добавьте
.custom-control-inline
. -
Обновленный селектор для групп кнопок на основе ввода. Вместо
[data-toggle="buttons"] { }
стиля и поведения мы используемdata
атрибут только для поведения JS и полагаемся на новый.btn-group-toggle
класс для стиля. -
Удален
.col-form-legend
в пользу немного улучшенного.col-form-label
. Таким образом,.col-form-label-sm
можно.col-form-label-lg
легко использовать<legend>
элементы. -
Пользовательские входные файлы получили изменение в своей
$custom-file-text
переменной Sass. Это больше не вложенная карта Sass, и теперь она поддерживает только одну строку —Browse
кнопку, поскольку она теперь является единственным псевдоэлементом, сгенерированным из нашего Sass. ТеперьChoose file
текст взят из.custom-file-label
.
-
Аддоны группы ввода теперь специфичны для их размещения относительно входа. Мы опустили
.input-group-addon
и.input-group-btn
на два новых класса,.input-group-prepend
и.input-group-append
. Теперь вы должны явно использовать добавление или начало, упрощая большую часть нашего CSS. В добавлении или начале поместите свои кнопки так, как они существуют где угодно, но оберните текст в.input-group-text
. -
Теперь поддерживаются стили проверки, а также несколько входных данных (хотя вы можете проверить только один вход на группу).
-
Классы размеров должны быть в родительском элементе,
.input-group
а не в отдельных элементах формы.
Пока мы находимся в бета-версии, мы стремимся не вносить критических изменений. Однако не всегда все идет по плану. Ниже приведены критические изменения, которые следует учитывать при переходе с бета-версии 1 на бета-версию 2.
- Удалена
$badge-color
переменная и ее использование в.badge
. Мы используем функцию цветового контраста, чтобы выбрать acolor
на основеbackground-color
, поэтому переменная не нужна. grayscale()
Функция переименована ,gray()
чтобы избежать конфликта с собственнымgrayscale
фильтром CSS.- Переименованы
.table-inverse
,.thead-inverse
, и.thead-default
в.*-dark
и.*-light
, что соответствует нашим цветовым схемам, используемым в других местах. - Адаптивные таблицы теперь генерируют классы для каждой точки останова сетки. Это отличается от бета-версии 1 тем, что
.table-responsive
вы использовали больше похоже на.table-responsive-md
. Теперь вы можете использовать.table-responsive
или.table-responsive-{sm,md,lg,xl}
по мере необходимости. - Прекращена поддержка Bower в качестве менеджера пакетов для альтернатив (например, Yarn или npm). Подробности см. в Bower/bower#2298 .
- Bootstrap по-прежнему требует jQuery 1.9.1 или выше, но вам рекомендуется использовать версию 3.x, так как браузеры, поддерживаемые v3.x, — это те, которые поддерживает Bootstrap, а v3.x имеет некоторые исправления безопасности.
- Удален неиспользуемый
.form-control-label
класс. Если вы использовали этот класс, он был дубликатом.col-form-label
класса, который вертикально центрировал a<label>
с соответствующим вводом в горизонтальных макетах форм. - Из миксина
color-yiq
, включающегоcolor
свойство, в функцию, возвращающую значение, что позволяет использовать его для любого свойства CSS. Например, вместоcolor-yiq(#000)
, вы должны написатьcolor: color-yiq(#000);
.
- Введено новое
pointer-events
использование модальных окон. Внешнее.modal-dialog
проходит через события с помощьюpointer-events: none
специальной обработки кликов (что позволяет просто прослушивать.modal-backdrop
любые клики), а затем противодействует этому фактическому.modal-content
с помощьюpointer-events: auto
.
Вот основные моменты, о которых вам следует знать при переходе с версии 3 на версию 4.
- Прекращена поддержка IE8, IE9 и iOS 6. v4 теперь только IE10+ и iOS 7+. Для сайтов, которым нужен любой из них, используйте v3.
- Добавлена официальная поддержка браузера Android v5.0 Lollipop и WebView. Более ранние версии браузера Android и WebView поддерживаются только неофициально.
- Flexbox включен по умолчанию. В целом это означает отказ от плавающих значений и многое другое в наших компонентах.
- Перешли с Less на Sass для наших исходных файлов CSS.
- Переключился с
px
на вrem
качестве нашей основной единицы CSS, хотя пиксели по-прежнему используются для медиа-запросов и поведения сетки, поскольку размер шрифта не влияет на окна просмотра устройства. - Глобальный размер шрифта увеличен с
14px
до16px
. - Переработаны уровни сетки, добавлен пятый вариант (обращающийся к устройствам меньшего размера на уровне
576px
и ниже), а также удален-xs
инфикс из этих классов. Пример:.col-6.col-sm-4.col-md-3
. - Заменена отдельная необязательная тема на настраиваемые параметры с помощью переменных SCSS (например,
$enable-gradients: true
). - Система сборки переработана, чтобы использовать серию скриптов npm вместо Grunt. Ознакомьтесь
package.json
со всеми сценариями или файлом readme нашего проекта для нужд локальной разработки. - Использование Bootstrap без ответа больше не поддерживается.
- Отказался от онлайн-настройщика в пользу более подробной документации по настройке и настраиваемых сборок.
- Добавлены десятки новых служебных классов для распространенных пар CSS-свойство-значение и ярлыков для пробелов между отступами и отступами.
- Перешел на флексбокс.
- Добавлена поддержка flexbox в миксинах сетки и предопределенных классах.
- В состав flexbox включена поддержка классов вертикального и горизонтального выравнивания.
- Обновлены имена классов сетки и новый уровень сетки.
- Добавлен новый
sm
уровень сетки ниже768px
для более детального управления. Теперь у нас естьxs
,sm
,md
,lg
иxl
. Это также означает, что каждый уровень был повышен на один уровень (так что.col-md-6
в версии 3 теперь.col-lg-6
в версии 4). xs
классы сетки были изменены, чтобы не требовать инфикса для более точного представления того, что они начинают применять стили при,min-width: 0
а не при заданном значении пикселя. Вместо.col-xs-6
, это сейчас.col-6
. Для всех других уровней сетки требуется инфикс (например,sm
).
- Добавлен новый
- Обновлены размеры сетки, примеси и переменные.
- Промежутки сетки теперь имеют карту Sass, поэтому вы можете указать определенную ширину промежутка в каждой контрольной точке.
- Обновлены примеси сетки для использования
make-col-ready
подготовительного миксина иmake-col
для установкиflex
иmax-width
для индивидуального размера столбца. - Изменены контрольные точки медиа-запросов в системе сетки и ширина контейнера, чтобы учитывать новый уровень сетки и гарантировать, что столбцы равномерно делятся
12
на их максимальную ширину. - Точки останова сетки и ширина контейнера теперь обрабатываются с помощью карт Sass (
$grid-breakpoints
и$container-max-widths
) вместо нескольких отдельных переменных. Они@screen-*
полностью заменяют переменные и позволяют полностью настраивать уровни сетки. - Медиа-запросы также изменились. Вместо того, чтобы каждый раз повторять наши объявления медиа-запроса с одним и тем же значением, теперь у нас есть
@include media-breakpoint-up/down/only
. Теперь вместо того, чтобы писать@media (min-width: @screen-sm-min) { ... }
, вы можете написать@include media-breakpoint-up(sm) { ... }
.
- Убраны панели, миниатюры и лунки для нового всеобъемлющего компонента — карточек .
- Удален шрифт значка Glyphicons. Если вам нужны значки, вот некоторые варианты:
- вышестоящая версия Glyphicons
- Октиконы
- Шрифт потрясающий
- См. страницу «Расширение» для списка альтернатив. Есть дополнительные предложения? Пожалуйста, откройте тему или PR.
- Удален плагин Affix jQuery.
position: sticky
Вместо этого мы рекомендуем использовать . Подробности и конкретные рекомендации по полифиллу см. в статье HTML5 Please . Одно предложение состоит в том, чтобы использовать@supports
правило для его реализации (например,@supports (position: sticky) { ... }
)/- Если вы использовали Affix для применения дополнительных
position
стилей, полифиллы могут не поддерживать ваш вариант использования. Одним из вариантов такого использования является сторонняя библиотека ScrollPos-Styler .
- Удален компонент пейджера, так как он был по существу немного настроенными кнопками.
- Рефакторинг почти всех компонентов для использования большего количества не вложенных селекторов классов вместо специфических дочерних селекторов.
В этом списке отмечены ключевые изменения по компонентам между версиями 3.xx и 4.0.0.
Новым в Bootstrap 4 является Reboot , новая таблица стилей, основанная на Normalize с нашими собственными стилями сброса. Селекторы, появляющиеся в этом файле, используют только элементы — здесь нет классов. Это изолирует наши стили сброса от наших стилей компонентов для более модульного подхода. Некоторые из наиболее важных сбросов включают в себя box-sizing: border-box
изменение, переход от единиц em
к rem
единицам для многих элементов, стили ссылок и многие сбросы элементов формы.
- Перенес все
.text-
утилиты в_utilities.scss
файл. - Отброшен
.page-header
, так как его стили можно применять через утилиты. .dl-horizontal
был сброшен. Вместо этого используйте.row
и<dl>
используйте классы столбцов сетки (или миксины) для его<dt>
и<dd>
дочерних элементов.- Переработаны цитаты, перенесены их стили из
<blockquote>
элемента в один класс,.blockquote
. Убран.blockquote-reverse
модификатор для текстовых утилит. .list-inline
теперь требует, чтобы к его дочерним элементам списка.list-inline-item
применялся новый класс.
- Переименован
.img-responsive
в.img-fluid
. - Переименован
.img-rounded
в.rounded
- Переименован
.img-circle
в.rounded-circle
- Почти все экземпляры
>
селектора были удалены, а это означает, что вложенные таблицы теперь будут автоматически наследовать стили от своих родителей. Это значительно упрощает наши селекторы и потенциальные настройки. - Переименован
.table-condensed
в.table-sm
для согласованности. - Добавлен новый
.table-inverse
вариант. - Добавлены модификаторы заголовка таблицы:
.thead-default
и.thead-inverse
. - Переименованные контекстные классы имеют
.table-
префикс -. Отсюда.active
,.success
, и к , , и ..warning
_ _.danger
.info
.table-active
.table-success
.table-warning
.table-danger
.table-info
- Перемещенный элемент сбрасывается в
_reboot.scss
файл. - Переименован
.control-label
в.col-form-label
. - Переименовал
.input-lg
и.input-sm
в.form-control-lg
и.form-control-sm
соответственно. - Отброшены
.form-group-*
классы для простоты. Вместо этого используйте.form-control-*
классы прямо сейчас. - Удалено
.help-block
и заменено.form-text
текстом справки на уровне блоков. Для встроенного текста справки и других гибких параметров используйте служебные классы, такие как.text-muted
. - Сбросил
.radio-inline
и.checkbox-inline
. - Объединены
.checkbox
и.radio
в.form-check
и различные.form-check-*
классы. - Переработаны горизонтальные формы:
- Отменил
.form-horizontal
требования к классу. .form-group
больше не применяет стили из.row
миксина via, поэтому.row
теперь требуется для горизонтальных макетов сетки (например,<div class="form-group row">
).- Добавлен новый
.col-form-label
класс для вертикально центрированных меток с.form-control
s. - Добавлены новые
.form-row
макеты компактных форм с классами сетки (поменяйте.row
их на a.form-row
и вперед).
- Отменил
- Добавлена поддержка пользовательских форм (для флажков, переключателей, выбора и ввода файлов).
- Заменены классы
.has-error
,.has-warning
и.has-success
на проверку формы HTML5 с помощью CSS:invalid
и:valid
псевдоклассов. - Переименован
.form-control-static
в.form-control-plaintext
.
- Переименован
.btn-default
в.btn-secondary
. - Полностью исключен
.btn-xs
класс, так как.btn-sm
он пропорционально намного меньше, чем v3. - Функция кнопки с сохранением состояния плагина
button.js
jQuery была удалена. Сюда входят методы$().button(string)
и .$().button('reset')
Вместо этого мы советуем использовать немного пользовательского JavaScript, который будет вести себя именно так, как вы хотите.- Обратите внимание, что другие функции плагина (кнопки-флажки, радиокнопки, кнопки с одним переключателем) были сохранены в v4.
- Измените кнопки
[disabled]
на так,:disabled
как IE9+ поддерживает файлы:disabled
. Однакоfieldset[disabled]
это все еще необходимо, потому что в IE11 все еще есть ошибки в собственных отключенных наборах полей .
- Переписал компонент с помощью flexbox.
- Удалено
.btn-group-justified
. В качестве замены вы можете использовать<div class="btn-group d-flex" role="group"></div>
как обертку вокруг элементов с расширением.w-100
. - Полностью исключил
.btn-group-xs
класс из-за удаления.btn-xs
. - Удален явный интервал между группами кнопок на панелях кнопок; используйте маржинальные утилиты сейчас.
- Улучшена документация для использования с другими компонентами.
- Переключены с родительских селекторов на отдельные классы для всех компонентов, модификаторов и т. д.
- Упрощенные стили раскрывающегося списка больше не поставляются со стрелками вверх или вниз, прикрепленными к раскрывающемуся меню.
- Выпадающие списки теперь можно создавать с помощью
<div>
s или<ul>
s. - Перестроены стили раскрывающихся списков и разметка, чтобы обеспечить простую встроенную поддержку элементов раскрывающихся списков на их основе
<a>
.<button>
- Переименован
.divider
в.dropdown-divider
. - Выпадающие элементы теперь требуют
.dropdown-item
. - Переключатели раскрывающегося списка больше не требуют явного указания
<span class="caret"></span>
; теперь это предоставляется автоматически через CSS::after
на.dropdown-toggle
.
- Добавлена новая
576px
точка останова сетки какsm
, что означает, что теперь всего пять уровней (xs
,sm
,md
,lg
иxl
). - Классы модификаторов адаптивной сетки переименованы с
.col-{breakpoint}-{modifier}-{size}
на.{modifier}-{breakpoint}-{size}
более простые классы сетки. - Убраны классы модификаторов push и pull для новых классов на основе flexbox
order
. Например, вместо.col-8.push-4
и.col-4.pull-8
вы должны использовать.col-8.order-2
и.col-4.order-1
. - Добавлены служебные классы flexbox для системы сеток и компонентов.
- Переписал компонент с помощью flexbox.
- Заменено
a.list-group-item
явным классом.list-group-item-action
для стилизации версий ссылок и кнопок элементов группы списка. - Добавлен
.list-group-flush
класс для использования с картами.
- Переписал компонент с помощью flexbox.
- При переходе на flexbox выравнивание значков закрытия в заголовке, вероятно, нарушено, поскольку мы больше не используем числа с плавающей запятой. Плавающий контент на первом месте, но с flexbox это уже не так. Обновите значки закрытия, чтобы они шли после модальных заголовков, чтобы исправить.
- Параметр
remote
(который можно было использовать для автоматической загрузки и внедрения внешнего контента в модальное окно) и соответствующееloaded.bs.modal
событие были удалены. Вместо этого мы рекомендуем использовать шаблоны на стороне клиента или структуру привязки данных или вызывать jQuery.load самостоятельно.
- Переписал компонент с помощью flexbox.
- Отброшены почти все
>
селекторы для более простого стиля с помощью невложенных классов. - Вместо специфичных для HTML селекторов, таких как
.nav > li > a
, мы используем отдельные классы для.nav
s,.nav-item
s и.nav-link
s. Это делает ваш HTML более гибким, обеспечивая повышенную расширяемость.
Панель навигации была полностью переписана на flexbox с улучшенной поддержкой выравнивания, отзывчивости и настройки.
- Отзывчивое поведение навигационной панели теперь применяется к
.navbar
классу через необходимое.navbar-expand-{breakpoint}
место , где вы выбираете, где свернуть навигационную панель. Ранее это была модификация Less variable и требовала перекомпиляции. .navbar-default
сейчас.navbar-light
, хотя.navbar-dark
остается прежним. Один из них требуется на каждой панели навигации. Однако эти классы больше не устанавливаютbackground-color
s; вместо этого они по существу влияют только наcolor
.- Навигационные панели теперь требуют какого-либо фонового объявления. Выберите одну из наших фоновых утилит (
.bg-*
) или установите свою собственную с помощью светлых/обратных классов выше для сумасшедшей настройки . - Учитывая стили flexbox, панели навигации теперь могут использовать утилиты flexbox для простых параметров выравнивания.
.navbar-toggle
теперь.navbar-toggler
и имеет другие стили и внутреннюю разметку (не более трех<span>
).- Полностью забросил
.navbar-form
занятия. Это больше не нужно; вместо этого просто используйте.form-inline
и применяйте маржинальные утилиты по мере необходимости. - Навбары больше не включаются
margin-bottom
илиborder-radius
по умолчанию. Используйте утилиты по мере необходимости. - Все примеры с панелями навигации были обновлены, чтобы включить новую разметку.
- Переписал компонент с помощью flexbox.
- Явные классы (
.page-item
,.page-link
) теперь требуются для потомков.pagination
s - Компонент
.pager
полностью удален, так как он представляет собой не более чем настраиваемые кнопки контура.
- Явный класс
.breadcrumb-item
теперь требуется для потомков.breadcrumb
s
- Консолидация
.label
и.badge
устранение неоднозначности<label>
элементов и упрощение связанных компонентов. - Добавлен
.badge-pill
в качестве модификатора для округлой «таблетки». - Значки больше не размещаются автоматически в группах списков и других компонентах. Для этого теперь требуются служебные классы.
.badge-default
был удален и.badge-secondary
добавлен, чтобы соответствовать классам модификаторов компонентов, используемым в других местах.
Полностью исключен из-за нового компонента карты.
.panel
to.card
, теперь построенный с помощью flexbox..panel-default
снято и замены нет..panel-group
снято и замены нет..card-group
это не замена, это другое..panel-heading
к.card-header
.panel-title
к.card-title
. В зависимости от желаемого внешнего вида вы также можете использовать элементы или классы заголовков (например<h3>
, ,.h3
) или жирные элементы или классы (например<strong>
,<b>
, ,.font-weight-bold
). Обратите внимание, что.card-title
, несмотря на похожее название, выглядит иначе, чем.panel-title
..panel-body
к.card-body
.panel-footer
к.card-footer
.panel-primary
,.panel-success
,.panel-info
,.panel-warning
и.panel-danger
были исключены из-за.bg-
,.text-
, и.border
утилит, сгенерированных из нашей$theme-colors
карты Sass.
- Заменены контекстные
.progress-bar-*
классы.bg-*
утилитами. Например,class="progress-bar progress-bar-danger"
становитсяclass="progress-bar bg-danger"
. - Заменены
.active
анимированные индикаторы выполнения на.progress-bar-animated
.
- Полностью переработан весь компонент, чтобы упростить дизайн и стиль. У нас меньше стилей для переопределения, новые индикаторы и новые значки.
- Все CSS были невложенными и переименованы, гарантируя, что каждый класс имеет префикс
.carousel-
.- Для элементов карусели ,
.next
,.prev
,.left
и.right
теперь.carousel-item-next
,.carousel-item-prev
,.carousel-item-left
, и.carousel-item-right
. .item
тоже сейчас.carousel-item
.- Для элементов управления «предыдущий/следующий»
.carousel-control.right
и.carousel-control.left
теперь являются.carousel-control-next
и.carousel-control-prev
, что означает, что им больше не требуется определенный базовый класс.
- Для элементов карусели ,
- Удалены все адаптивные стили, отложенные на утилиты (например, показ подписей на определенных окнах просмотра) и пользовательские стили по мере необходимости.
- Удалены переопределения изображений для изображений в элементах карусели, отложенные на утилиты.
- Пример карусели изменен, чтобы включить новую разметку и стили.
- Удалена поддержка стилизованных вложенных таблиц. Все стили таблиц теперь унаследованы в v4 для более простых селекторов.
- Добавлен вариант обратной таблицы.
- Показать, скрыть и многое другое:
- Утилиты отображения стали отзывчивыми (например,
.d-none
иd-{sm,md,lg,xl}-none
). - Выброшена основная масса
.hidden-*
утилит на новые утилиты отображения . Например, вместо.hidden-sm-up
, используйте.d-sm-none
. Утилиты переименованы,.hidden-print
чтобы использовать схему именования утилит отображения. Более подробная информация находится в разделе «Отзывчивые утилиты» на этой странице. - Добавлены
.float-{sm,md,lg,xl}-{left,right,none}
классы для отзывчивых поплавков и удалены.pull-left
,.pull-right
поскольку они избыточны для.float-left
и.float-right
.
- Утилиты отображения стали отзывчивыми (например,
- Тип:
- В наши классы выравнивания текста добавлены адаптивные варианты
.text-{sm,md,lg,xl}-{left,center,right}
.
- В наши классы выравнивания текста добавлены адаптивные варианты
- Выравнивание и интервал:
- Добавлены новые адаптивные утилиты полей и отступов для всех сторон, а также вертикальные и горизонтальные сокращения.
- Добавлено множество утилит flexbox .
- Перешел
.center-block
в новый.mx-auto
класс.
- Clearfix обновлен, чтобы отказаться от поддержки старых версий браузера.
Примеси префиксов поставщиков Bootstrap 3 , которые устарели в версии 3.2.0, были удалены в Bootstrap 4. Поскольку мы используем Autoprefixer , они больше не нужны.
Удалены следующие миксины : animation
, animation-delay
, animation-direction
, animation-duration
, animation-fill-mode
, animation-iteration-count
, animation-name
, animation-timing-function
, backface-visibility
, box-sizing
, content-columns
, hyphens
, opacity
, perspective
, perspective-origin
, rotate
, rotateX
, rotateY
, scale
, scaleX
, scaleY
, skew
, transform-origin
, transition-delay
, transition-duration
, transition-property
, transition-timing-function
, transition-transform
, translate
,translate3d
user-select
Наша документация также получила обновление по всем направлениям. Вот вкратце:
- Мы все еще используем Jekyll, но у нас есть плагины:
bugify.rb
используется для эффективного перечисления записей на нашей странице ошибок браузера .example.rb
является пользовательской вилкойhighlight.rb
плагина по умолчанию, позволяющей упростить обработку кода примера.callout.rb
это аналогичный пользовательский форк этого, но предназначенный для наших специальных выносок документации.- jekyll-toc используется для создания нашего оглавления.
- Все содержимое документов было переписано в формате Markdown (вместо HTML) для более удобного редактирования.
- Страницы были реорганизованы для более простого содержания и более доступной иерархии.
- Мы перешли с обычного CSS на SCSS, чтобы в полной мере использовать переменные Bootstrap, миксины и многое другое.
Все @screen-
переменные были удалены в v4.0.0. Вместо этого используйте миксины media-breakpoint-up()
, media-breakpoint-down()
, или media-breakpoint-only()
Sass или $grid-breakpoints
карту Sass.
Наши отзывчивые служебные классы в значительной степени были удалены в пользу явных display
служебных программ.
- Классы
.hidden
и.show
были удалены, поскольку они конфликтовали с jQuery$(...).hide()
и$(...).show()
методами. Вместо этого попробуйте переключить[hidden]
атрибут или использовать встроенные стили, такие какstyle="display: none;"
иstyle="display: block;"
. - Все
.hidden-
классы были удалены, за исключением утилит печати, которые были переименованы.- Удалено из v3:
.hidden-xs
.hidden-sm
.hidden-md
.hidden-lg
.visible-xs-block
.visible-xs-inline
.visible-xs-inline-block
.visible-sm-block
.visible-sm-inline
.visible-sm-inline-block
.visible-md-block
.visible-md-inline
.visible-md-inline-block
.visible-lg-block
.visible-lg-inline
.visible-lg-inline-block
- Удалено из версии 4 альфа:
.hidden-xs-up
.hidden-xs-down
.hidden-sm-up
.hidden-sm-down
.hidden-md-up
.hidden-md-down
.hidden-lg-up
.hidden-lg-down
- Удалено из v3:
- Утилиты печати больше не начинаются с
.hidden-
или.visible-
, а начинаются с.d-print-
.- Старые названия:
.visible-print-block
,.visible-print-inline
,.visible-print-inline-block
,.hidden-print
- Новые классы:
.d-print-block
,.d-print-inline
,.d-print-inline-block
,.d-print-none
- Старые названия:
Вместо того, чтобы использовать явные .visible-*
классы, вы делаете элемент видимым, просто не скрывая его при этом размере экрана. Вы можете комбинировать один .d-*-none
класс с одним .d-*-block
классом, чтобы отображать элемент только на заданном интервале размеров экрана (например .d-none.d-md-block.d-xl-none
, показывать элемент только на средних и больших устройствах).
Обратите внимание, что изменения в точках останова сетки в версии 4 означают, что вам нужно увеличить точку останова на одну, чтобы добиться тех же результатов. Новые отзывчивые служебные классы не пытаются приспособить менее распространенные случаи, когда видимость элемента не может быть выражена как единый непрерывный диапазон размеров окна просмотра; вместо этого вам нужно будет использовать пользовательский CSS в таких случаях.