Пераход на v4
Bootstrap 4 - гэта сур'ёзная перапрацоўка ўсяго праекта. Найбольш прыкметныя змены прыведзены ніжэй, за імі ідуць больш канкрэтныя змены адпаведных кампанентаў.
Пры пераходзе ад бэта-версіі 3 да нашай стабільнай версіі v4.0 няма важных змен, але ёсць некаторыя прыкметныя змены.
-
Выпраўлены няспраўныя ўтыліты друку. Раней выкарыстанне
.d-print-*
класа нечакана адмяняла любы іншы.d-*
клас. Цяпер яны супадаюць з нашымі іншымі ўтылітамі адлюстравання і прымяняюцца толькі да гэтага носьбіта (@media print
). -
Пашыраны даступныя ўтыліты адлюстравання друку ў адпаведнасці з іншымі ўтылітамі. Бэта-версія 3 і старэй мела толькі
block
,inline-block
,inline
іnone
. Дададзены стабільны v4flex
,inline-flex
,table
,table-row
іtable-cell
. -
Выпраўлены папярэдні прагляд друку ў розных браўзерах з новымі стылямі друку, якія вызначаюць
@page
size
.
Нягледзячы на тое, што ў бэта-версіі 2 была ўнесена асноўная маса важных змяненняў падчас бэта-фазы, у нас усё яшчэ ёсць некалькі, якія неабходна вырашыць у выпуску бэта-версіі 3. Гэтыя змены прымяняюцца, калі вы абнаўляеце Beta 3 з Beta 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
, а не на асобных элементах формы.
Падчас бэта-версіі мы імкнемся не рабіць рэзкіх змен. Аднак не заўсёды ўсё ідзе так, як планавалася. Ніжэй прыведзены важныя змены, якія трэба мець на ўвазе пры пераходзе з Beta 1 на Beta 2.
- Выдалена
$badge-color
зменная і яе выкарыстанне на.badge
. Мы выкарыстоўваем функцыю каляровага кантрасту, каб выбраць наcolor
асновеbackground-color
, таму зменная непатрэбная. - Перайменаваная
grayscale()
функцыя,gray()
каб пазбегнуць канфлікту з уласнымgrayscale
фільтрам CSS. - Перайменаваны
.table-inverse
,.thead-inverse
, і.thead-default
ў.*-dark
і.*-light
, у адпаведнасці з нашымі каляровымі схемамі, якія выкарыстоўваюцца ў іншых месцах. - Спагадныя табліцы цяпер ствараюць класы для кожнай кропкі разрыву сеткі. Гэта адрозніваецца ад Beta 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, паколькі Bootstrap падтрымлівае браўзеры v3.x, плюс у v3.x ёсць некаторыя выпраўленні бяспекі.
- Выдалены невыкарыстоўваемы
.form-control-label
клас. Калі вы выкарыстоўвалі гэты клас, гэта быў дублікат.col-form-label
класа, які размяшчаўся па вертыкальным цэнтры<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
ўсе скрыпты або файл чытання нашага праекта для патрэб мясцовага развіцця. - Выкарыстанне Bootstrap без адказу больш не падтрымліваецца.
- Выключылі онлайн-наладчык на карысць больш шырокай дакументацыі па наладцы і наладжаных зборак.
- Дададзены дзясяткі новых карысных класаў для агульных пар уласцівасць-значэнне CSS і спалучэнняў інтэрвалаў поля/запаўнення.
- Перанесены ў flexbox.
- Дададзена падтрымка flexbox у міксіны сеткі і прадвызначаныя класы.
- Як частка flexbox, уключана падтрымка класаў вертыкальнага і гарызантальнага выраўноўвання.
- Абноўлены назвы класаў сеткі і новы ўзровень сеткі.
- Ніжэй дададзены новы
sm
ўзровень сеткі768px
для больш дэталёвага кантролю. Цяпер у нас ёсцьxs
,sm
,md
,lg
іxl
. Гэта таксама азначае, што кожны ўзровень быў падняты на адзін узровень (таму.col-md-6
ў v3 цяпер.col-lg-6
у v4). 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
- Актыконы
- Шрыфт Awesome
- Спіс альтэрнатыў глядзіце на старонцы Extend . Ёсць дадатковыя прапановы? Калі ласка, адкрыйце пытанне або піяр.
- Выдалілі плагін Affix jQuery.
- Мы рэкамендуем выкарыстоўваць
position: sticky
замест гэтага. Падрабязнасці і канкрэтныя рэкамендацыі па полізапаўненні глядзіце ў запісе HTML5 Калі ласка . Адна з прапаноў - выкарыстоўваць@supports
правіла для яго рэалізацыі (напрыклад,@supports (position: sticky) { ... }
)/ - Калі вы выкарыстоўвалі Affix для прымянення дадатковых
position
стыляў, полізапаўненні маглі не падтрымліваць ваш варыянт выкарыстання. Адным з варыянтаў такога выкарыстання з'яўляецца старонняя бібліятэка ScrollPos-Styler .
- Мы рэкамендуем выкарыстоўваць
- Выдалілі кампанент пэйджара, бо гэта былі, па сутнасці, кнопкі з невялікімі наладамі.
- Перароблены амаль усе кампаненты , каб выкарыстоўваць больш неўкладзеных селектараў класаў замест звышспецыфічных даччыных селектараў.
У гэтым спісе асвятляюцца асноўныя змены па кампанентах паміж v3.xx і v4.0.0.
Новым у Bootstrap 4 з'яўляецца Reboot , новая табліца стыляў, якая абапіраецца на Normalize з нашымі ўласнымі некалькі ўпэўненымі стылямі скіду. Селектары, якія з'яўляюцца ў гэтым файле, выкарыстоўваюць толькі элементы - тут няма класаў. Гэта ізалюе нашы стылі скіду ад стыляў нашых кампанентаў для больш модульнага падыходу. Некаторыя з найбольш важных скідаў, якія сюды ўваходзяць, - гэта box-sizing: border-box
змяненне, пераход ад em
да rem
адзінак на многіх элементах, стылі спасылак і скіды многіх элементаў формы.
.text-
Усе ўтыліты перанесены ў_utilities.scss
файл.- Выключана
.page-header
, бо, акрамя рамкі, усе яго стылі можна ўжываць праз утыліты. .dl-horizontal
быў адкінуты. Замест гэтага выкарыстоўвайце.row
on<dl>
і выкарыстоўвайце класы слупкоў сеткі (або міксіны) на сваіх<dt>
і даччыных элементах<dd>
.- Карыстальніцкі
<blockquote>
стыль пераехаў у класы.blockquote
і.blockquote-reverse
мадыфікатар. .list-inline
цяпер патрабуе, каб да элементаў яго даччынага спісу быў.list-inline-item
ужыты новы клас.
- Перайменаваны
.img-responsive
ў.img-fluid
. - Перайменаваны
.img-rounded
ў.rounded
- Перайменаваны
.img-circle
ў.rounded-circle
- Амаль усе асобнікі
>
селектара былі выдалены, што азначае, што ўкладзеныя табліцы цяпер будуць аўтаматычна ўспадкоўваць стылі ад бацькоў. Гэта значна спрашчае нашы селектары і магчымыя налады. - Адаптыўныя табліцы больш не патрабуюць элемента абгорткі. Замест гэтага проста пастаўце
.table-responsive
правы на<table>
. - Перайменаваны
.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 mixin, таму.row
цяпер патрабуецца для макетаў гарызантальнай сеткі (напрыклад,<div class="form-group row">
).- Дададзены новы
.col-form-label
клас для цэтлікаў па вертыкальным цэнтры з.form-control
s. - Дададзена новае
.form-row
для кампактных макетаў формаў з класамі сеткі (памяняйце.row
іх на.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}
месца, дзе вы выбіраеце месца згортвання навігацыйнай панэлі. Раней гэта была менш зменная мадыфікацыя і патрабавала перакампіляцыі. .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
кампанент, бо ён быў амаль ідэнтычны этыкеткам. Замест гэтага выкарыстоўвайце.badge-pill
мадыфікатар разам з кампанентам цэтліка для круглявага выгляду. - Значкі больш не змяшчаюцца аўтаматычна ў групах спісаў і іншых кампанентах. Цяпер для гэтага патрабуюцца карысныя класы.
.badge-default
быў выдалены і.badge-secondary
дададзены ў адпаведнасці з класамі мадыфікатараў кампанентаў, якія выкарыстоўваюцца ў іншым месцы.
Цалкам адменена для новага кампанента карты.
.panel
да.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
, што азначае, што яны больш не патрабуюць пэўнага базавага класа.
- Для элементаў каруселі ,
- Выдалены ўсе адаптыўныя стылі, адкладаючыся на ўтыліты (напрыклад, паказ подпісаў на пэўных вокнах прагляду) і карыстальніцкія стылі па меры неабходнасці.
- Выдалены перавызначэнні відарысаў у элементах каруселі, адкладаючыся на ўтыліты.
- Дапрацаваны прыклад Carousel, каб уключыць новую разметку і стылі.
- Выдалена падтрымка стылізаваных укладзеных табліц. Усе стылі табліц цяпер успадкаваны ў 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
з'яўляецца аналагічным нестандартным форкам гэтага, але прызначаным для нашых спецыяльных вынасок дакументаў.markdown-block.rb
выкарыстоўваецца для візуалізацыі фрагментаў Markdown у элементах HTML, такіх як табліцы.- 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
- Выдалена з альфа-версій v4:
.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 у такіх выпадках.