v4'e geçiş
Bootstrap 4, tüm projenin büyük bir yeniden yazılmasıdır. En dikkate değer değişiklikler aşağıda özetlenmiştir ve ardından ilgili bileşenlerde daha spesifik değişiklikler yapılmıştır.
Kararlı değişiklikler
Beta 3'ten kararlı v4.x sürümümüze geçerken, herhangi bir bozulma yok, ancak bazı önemli değişiklikler var.
Baskı
-
Sabit bozuk yazdırma yardımcı programları. Önceden, bir sınıf kullanmak
.d-print-*
beklenmedik bir şekilde diğer herhangi bir sınıfı geçersiz kılardı.d-*
. Şimdi, diğer görüntüleme yardımcı programlarımızla eşleşiyorlar ve yalnızca o ortam için geçerli (@media print
). -
Diğer yardımcı programlarla eşleşecek şekilde genişletilmiş kullanılabilir yazdırma görüntüleme yardımcı programları. Beta 3 ve daha eski sürümlerde yalnızca
block
,inline-block
,inline
, venone
. Kararlı v4 eklendiflex
,inline-flex
,table
,table-row
vetable-cell
. -
belirten yeni baskı stilleriyle tarayıcılar arasında baskı önizleme oluşturma düzeltildi
@page
size
.
Beta 3 değişiklikleri
Beta 2, beta aşamasında önemli değişikliklerimizin çoğunu görmüş olsa da, Beta 3 sürümünde ele alınması gereken birkaç değişiklik daha var. Bu değişiklikler, Beta 2'den veya Bootstrap'ın herhangi bir eski sürümünden Beta 3'e güncelleme yapıyorsanız geçerlidir.
Çeşitli
$thumbnail-transition
Kullanılmayan değişken kaldırıldı . Hiçbir şeyin geçişini yapmıyorduk, bu yüzden sadece ekstra koddu.- npm paketi artık kaynak ve dist dosyalarımızdan başka dosya içermiyor; bunlara güveniyorsanız ve komut dosyalarımızı
node_modules
klasör aracılığıyla çalıştırıyorsanız, iş akışınızı uyarlamanız gerekir.
Formlar
-
Hem özel hem de varsayılan onay kutularını ve radyoları yeniden yazdı. Artık her ikisi de eşleşen HTML yapısına (dış
<div>
kardeş<input>
ve<label>
) ve aynı düzen stillerine (yığın varsayılan, değiştirici sınıfla satır içi) sahiptir.disabled
Bu, öznitelik desteğini basitleştirerek (önceden bir üst sınıf gerektiriyordu) ve form doğrulamamızı daha iyi destekleyerek , girdinin durumuna göre etiketi stillendirmemize olanak tanır .Bunun bir parçası olarak,
background-image
özel form onay kutularında ve radyolarda birden çok s'yi yönetmek için CSS'yi değiştirdik. Önceden, şimdi kaldırılan.custom-control-indicator
öğenin arka plan rengi, degradesi ve SVG simgesi vardı. Arka plan gradyanını özelleştirmek, yalnızca birini değiştirmeniz gerektiğinde hepsini değiştirmek anlamına geliyordu..custom-control-label::before
Şimdi, dolgu ve gradyan için elimizde ve.custom-control-label::after
simgeyi ele alıyoruz.Özel bir satır içi kontrol yapmak için ekleyin
.custom-control-inline
. -
Giriş tabanlı düğme grupları için güncellenmiş seçici.
[data-toggle="buttons"] { }
Stil ve davranış yerinedata
özniteliği yalnızca JS davranışları için kullanırız ve.btn-group-toggle
stil için yeni bir sınıfa güveniriz. -
.col-form-legend
Biraz iyileştirilmiş lehine kaldırıldı.col-form-label
. Bu şekilde.col-form-label-sm
ve elemanlar üzerinde kolaylıkla.col-form-label-lg
kullanılabilir .<legend>
-
$custom-file-text
Özel dosya girişleri, Sass değişkenlerinde bir değişiklik aldı . Artık iç içe geçmiş bir Sass haritası değil ve şimdi yalnızca bir dizeye güç veriyor - buBrowse
düğme artık Sass'ımızdan üretilen tek sözde öğe. MetinChoose file
şimdi gelen.custom-file-label
.
Giriş grupları
-
Giriş grubu eklentileri artık bir girişe göre yerleşimlerine özeldir. Bıraktık
.input-group-addon
ve.input-group-btn
iki yeni sınıf için.input-group-prepend
ve.input-group-append
. Şimdi, CSS'mizin çoğunu basitleştiren bir ekleme veya başa ekleme kullanmalısınız. Bir ekleme veya başa ekleme içinde, düğmelerinizi başka herhangi bir yerde olacakları gibi yerleştirin, ancak metni içine sarın.input-group-text
. -
Doğrulama stilleri, çoklu girişler gibi artık desteklenmektedir (ancak grup başına yalnızca bir girişi doğrulayabilirsiniz).
-
.input-group
Boyutlandırma sınıfları , bireysel form öğelerinde değil, üst öğede olmalıdır .
Beta 2 değişiklikleri
Betadayken, herhangi bir kalıcı değişiklik yapmamayı hedefliyoruz. Ancak işler her zaman planlandığı gibi gitmez. Beta 1'den Beta 2'ye geçerken akılda tutulması gereken önemli değişiklikler aşağıdadır.
Son Dakika
- Kaldırılan
$badge-color
değişken ve kullanımı.badge
.color
'ye dayalı olarak bir renk kontrastı işlevi kullanırızbackground-color
, bu nedenle değişken gereksizdir. - CSS yerel filtresiyle çakışmayı önlemek için
grayscale()
işlev yeniden adlandırıldı .gray()
grayscale
- Başka yerlerde kullanılan renk şemalarımızla eşleşen
.table-inverse
,.thead-inverse
, ve.thead-default
to.*-dark
ve , yeniden adlandırıldı ..*-light
- Duyarlı tablolar artık her ızgara kesme noktası için sınıflar oluşturur. Bu,
.table-responsive
kullandığınızın daha çok.table-responsive-md
. Artık.table-responsive
veya.table-responsive-{sm,md,lg,xl}
gerektiği gibi kullanabilirsiniz. - Paket yöneticisi alternatifler (örneğin Yarn veya npm) için kullanımdan kaldırıldığı için Bower desteği düşürüldü. Ayrıntılar için çardak/ çardak#2298'e bakın.
- Bootstrap hala jQuery 1.9.1 veya üstünü gerektirir, ancak v3.x'in desteklenen tarayıcıları Bootstrap'in desteklediği tarayıcılar olduğundan ve v3.x'te bazı güvenlik düzeltmeleri bulunduğundan 3.x sürümünü kullanmanız önerilir.
.form-control-label
Kullanılmayan sınıf kaldırıldı . Bu sınıfı kullandıysanız, yatay form düzenlerinde ilişkili girdisiyle.col-form-label
dikey olarak ortalayan sınıfın kopyasıydı.<label>
color-yiq
Özelliği içeren bir karışımdan,color
herhangi bir CSS özelliği için kullanmanıza izin veren bir değer döndüren bir işleve değiştirildi . Örneğin, yerinecolor-yiq(#000)
yazarsınızcolor: color-yiq(#000);
.
Öne Çıkanlar
- Modallarda yeni
pointer-events
kullanım tanıtıldı. Dış kısım, özel tıklama işleme için.modal-dialog
olaylardan geçerpointer-events: none
(sadece herhangi bir tıklamayı dinlemeyi mümkün kılar.modal-backdrop
) ve ardından gerçek.modal-content
içinpointer-events: auto
.
Özet
İşte v3'ten v4'e geçerken farkında olmak isteyeceğiniz büyük bilet öğeleri.
tarayıcı desteği
- IE8, IE9 ve iOS 6 desteği kaldırıldı. v4 artık yalnızca IE10+ ve iOS 7+. Bunlardan herhangi birine ihtiyaç duyan siteler için v3 kullanın.
- Android v5.0 Lollipop'un Tarayıcısı ve Web Görünümü için resmi destek eklendi. Android Tarayıcı ve WebView'ün önceki sürümleri yalnızca gayri resmi olarak desteklenmektedir.
Küresel değişiklikler
- Flexbox varsayılan olarak etkindir. Genel olarak bu, bileşenlerimiz arasında yüzer durumdan ve daha fazlasından uzaklaşmak anlamına gelir.
- Kaynak CSS dosyalarımız için Less'ten Sass'a geçildi .
- Birincil CSS birimimiz olarak
px
değiştirildirem
, ancak cihaz görünümleri tür boyutundan etkilenmediğinden pikseller medya sorguları ve ızgara davranışı için hala kullanılıyor. - Genel yazı tipi boyutu olarak
14px
artırıldı16px
. - Beşinci bir seçenek eklemek için yenilenmiş ızgara katmanları (ve altındaki daha küçük cihazlara hitap ediyor ) ve bu sınıflardan ek
576px
kaldırıldı .-xs
Örnek:.col-6.col-sm-4.col-md-3
. - Ayrı isteğe bağlı temayı, SCSS değişkenleri (örn.,
$enable-gradients: true
) aracılığıyla yapılandırılabilir seçeneklerle değiştirdi. - Derleme sistemi, Grunt yerine bir dizi npm betiği kullanacak şekilde elden geçirildi. Tüm komut dosyaları için bakın
package.json
veya yerel geliştirme ihtiyaçları için proje benioku. - Bootstrap'in yanıt vermeyen kullanımı artık desteklenmiyor.
- Çevrimiçi Özelleştiriciyi, daha kapsamlı kurulum belgeleri ve özelleştirilmiş yapılar lehine bıraktı.
- Ortak CSS özellik-değer çiftleri ve kenar boşluğu/dolgu aralığı kısayolları için düzinelerce yeni yardımcı program sınıfı eklendi.
ızgara sistemi
- Flexbox'a taşındı.
- Izgara karışımlarında ve önceden tanımlanmış sınıflarda flexbox desteği eklendi.
- Flexbox'ın bir parçası olarak, dikey ve yatay hizalama sınıfları için destek dahildir.
- Güncellenmiş ızgara sınıfı adları ve yeni bir ızgara katmanı.
- Daha ayrıntılı kontrol için aşağıya yeni bir
sm
ızgara katmanı eklendi.768px
Artık elimizdexs
,sm
,md
,lg
ve varxl
. Bu aynı zamanda her seviyenin bir seviye yükseltildiği anlamına gelir (yani.col-md-6
v3'te şimdi.col-lg-6
v4'te). xs
min-width: 0
ızgara sınıfları, stillerin belirli bir piksel değerinde değil de, stilleri uygulamaya başladıklarını daha doğru bir şekilde temsil etmesini gerektirmeyecek şekilde değiştirildi . Yerine.col-xs-6
şimdi oldu.col-6
. Diğer tüm ızgara katmanları, infix'i gerektirir (örneğin,sm
).
- Daha ayrıntılı kontrol için aşağıya yeni bir
- Güncellenmiş ızgara boyutları, karışımlar ve değişkenler.
- Izgara olukları artık bir Sass haritasına sahiptir, böylece her kesme noktasında belirli oluk genişlikleri belirtebilirsiniz.
make-col-ready
Bir hazırlık karışımı kullanmak için güncellenmiş ızgara karışımları ve ayrı sütun boyutlandırma için vemake-col
ayarlamak için a.flex
max-width
- Yeni ızgara katmanını hesaba katmak ve sütunların
12
maksimum genişliklerinde eşit olarak bölünebilmesini sağlamak için ızgara sistemi medya sorgusu kesme noktaları ve kapsayıcı genişlikleri değiştirildi. - Izgara kesme noktaları ve kapsayıcı genişlikleri artık bir avuç ayrı değişken yerine Sass haritaları (
$grid-breakpoints
ve ) aracılığıyla işleniyor.$container-max-widths
Bunlar,@screen-*
değişkenleri tamamen değiştirir ve ızgara katmanlarını tamamen özelleştirmenize olanak tanır. - Medya sorguları da değişti. Medya sorgu bildirimlerimizi her seferinde aynı değerde tekrarlamak yerine artık
@include media-breakpoint-up/down/only
. Artık yazmak yerine@media (min-width: @screen-sm-min) { ... }
yazabilirsiniz@include media-breakpoint-up(sm) { ... }
.
Bileşenler
- Her şeyi kapsayan yeni bir bileşen olan kartlar için bırakılan paneller, küçük resimler ve kuyular .
- Glyphicons simgesi yazı tipini düşürdü. Simgelere ihtiyacınız varsa, bazı seçenekler şunlardır:
- Glyphicons'un yukarı akış versiyonu
- Octicons
- Yazı Tipi Harika
- Alternatiflerin bir listesi için Genişlet sayfasına bakın . Ek önerileriniz var mı? Lütfen bir konu veya PR açın.
- Affix jQuery eklentisini düşürdü.
position: sticky
Bunun yerine kullanmanızı öneririz . Ayrıntılar ve belirli çoklu dolgu önerileri için HTML5 Lütfen giriş yapın. Bir öneri,@supports
onu uygulamak için bir kural kullanmaktır (örneğin,@supports (position: sticky) { ... }
)- Ek,
position
stil olmayanlar uygulamak için Affix kullanıyorsanız, çoklu dolgular kullanım durumunuzu desteklemeyebilir. Bu tür kullanımlar için bir seçenek, üçüncü taraf ScrollPos-Styler kitaplığıdır.
- Çağrı cihazı bileşeni , temelde biraz özelleştirilmiş düğmeler olduğu için düşürüldü.
- Aşırı spesifik alt seçiciler yerine daha fazla iç içe olmayan sınıf seçicileri kullanmak için neredeyse tüm bileşenler yeniden düzenlendi.
Bileşene göre
Bu liste, v3.xx ve v4.0.0 arasındaki bileşene göre önemli değişiklikleri vurgular.
yeniden başlat
Bootstrap 4'te yeni olan Reboot , Normalize'yi kendi biraz düşünülmüş sıfırlama stillerimizle oluşturan yeni bir stil sayfasıdır. Bu dosyada görünen seçiciler yalnızca öğeleri kullanır; burada sınıf yoktur. Bu, daha modüler bir yaklaşım için sıfırlama stillerimizi bileşen stillerimizden ayırır. Bunun içerdiği en önemli sıfırlamalardan bazıları, birçok öğedeki birimlerden birimlere box-sizing: border-box
geçiş , em
bağlantı rem
stilleri ve birçok form öğesi sıfırlamasıdır.
tipografi
- Tüm
.text-
yardımcı programları_utilities.scss
dosyaya taşıdı. - Stilleri
.page-header
yardımcı programlar aracılığıyla uygulanabildiği için düşürüldü. .dl-horizontal
düşürüldü. Bunun yerine,.row
on<dl>
ve alt öğelerinde ızgara sütun sınıflarını (veya karışımlarını) kullanın ve<dt>
kullanın<dd>
.<blockquote>
Stillerini öğeden tek bir sınıfa taşıyarak yeniden tasarlanan blok alıntılar ,.blockquote
..blockquote-reverse
Metin yardımcı programları için değiştiriciyi bıraktı ..list-inline
şimdi, alt liste öğelerinin kendilerine.list-inline-item
uygulanan yeni sınıfa sahip olmasını gerektiriyor.
Görüntüler
- olarak yeniden adlandırıldı
.img-responsive
..img-fluid
.img-rounded
yeniden adlandırıldı.rounded
.img-circle
yeniden adlandırıldı.rounded-circle
Tablolar
- Seçicinin neredeyse tüm örnekleri
>
kaldırılmıştır, yani iç içe geçmiş tablolar artık stilleri üstlerinden otomatik olarak devralacaktır. Bu, seçicilerimizi ve potansiyel özelleştirmelerimizi büyük ölçüde basitleştirir. - Tutarlılık için
.table-condensed
yeniden adlandırıldı ..table-sm
- Yeni bir
.table-inverse
seçenek eklendi. - Tablo başlığı değiştiricileri eklendi:
.thead-default
ve.thead-inverse
. - Bağlamsal sınıflar
.table-
-ön ekine sahip olacak şekilde yeniden adlandırıldı. Dolayısıyla.active
,.success
, ve için , , , ve ..warning
_.danger
.info
.table-active
.table-success
.table-warning
.table-danger
.table-info
Formlar
_reboot.scss
Taşınan öğe dosyaya sıfırlanır .- olarak yeniden adlandırıldı
.control-label
..col-form-label
- Yeniden adlandırıldı
.input-lg
ve.input-sm
sırasıyla.form-control-lg
ve ve.form-control-sm
. - Sadelik
.form-group-*
uğruna dersler kaldırıldı..form-control-*
Bunun yerine şimdi sınıfları kullanın . - Blok düzeyinde yardım metni için düşürüldü
.help-block
ve değiştirildi ..form-text
Satır içi yardım metni ve diğer esnek seçenekler için gibi yardımcı program sınıflarını kullanın.text-muted
. - Düştü
.radio-inline
ve.checkbox-inline
. - Konsolide
.checkbox
ve.radio
içine.form-check
ve çeşitli.form-check-*
sınıflar. - Yatay formlar elden geçirildi:
.form-horizontal
Sınıf gereksinimini düşürdü ..form-group
artık.row
via mixin'den stiller uygulamamaktadır, bu nedenle.row
artık yatay ızgara düzenleri için gereklidir (örneğin,<div class="form-group row">
).- Etiketleri s ile dikey olarak ortalamak için yeni
.col-form-label
sınıf eklendi.form-control
. .form-row
Izgara sınıfları ile kompakt form düzenleri için yeni eklendi (.row
bir ile değiştirin.form-row
ve gidin).
- Özel form desteği eklendi (onay kutuları, radyolar, seçimler ve dosya girişleri için).
- Değiştirilen
.has-error
,.has-warning
ve sınıfları, CSS'ler ve sözde sınıflar.has-success
aracılığıyla HTML5 form doğrulaması ile .:invalid
:valid
- olarak yeniden adlandırıldı
.form-control-static
..form-control-plaintext
Düğmeler
- olarak yeniden adlandırıldı
.btn-default
..btn-secondary
.btn-xs
Sınıfı, orantısal olarak v3'lerden çok daha küçük olduğu için tamamen düşürdü.btn-sm
.- jQuery eklentisinin durum bilgisi olan düğme özelliği
button.js
kaldırıldı. Bu$().button(string)
ve$().button('reset')
yöntemlerini içerir. Bunun yerine, tam olarak istediğiniz gibi davranma avantajına sahip olacak küçük bir özel JavaScript parçası kullanmanızı öneririz.- Eklentinin diğer özelliklerinin (düğme onay kutuları, düğme radyoları, tek geçiş düğmeleri) v4'te korunduğunu unutmayın.
- Düğmeleri IE9+'ın desteklediği
[disabled]
şekilde değiştirin . Ancak , yerel devre dışı bırakılmış alan kümeleri IE11'de hala sorunlu olduğundan, yine de gereklidir .:disabled
:disabled
fieldset[disabled]
Düğme grubu
- Bileşeni flexbox ile yeniden yazdı.
- Kaldırıldı
.btn-group-justified
.<div class="btn-group d-flex" role="group"></div>
Bir yedek olarak, öğelerin etrafına sarıcı olarak kullanabilirsiniz.w-100
. .btn-group-xs
Tamamen kaldırılması verilen sınıfı düşürdü.btn-xs
.- Düğme araç çubuklarındaki düğme grupları arasındaki açık boşluk kaldırıldı; şimdi kenar boşluğu yardımcı programlarını kullanın.
- Diğer bileşenlerle kullanım için geliştirilmiş belgeler.
açılır menüler
- Tüm bileşenler, değiştiriciler vb. için ana seçicilerden tekil sınıflara geçildi.
- Açılır menüye iliştirilmiş yukarı veya aşağı bakan oklarla artık gönderilmeyecek basitleştirilmiş açılır liste stilleri.
- Açılır listeler artık
<div>
s veya<ul>
s ile oluşturulabilir. - Açılan öğeler için kolay
<a>
, yerleşik destek sağlamak için yeniden oluşturulmuş açılır stiller ve işaretleme .<button>
- olarak yeniden adlandırıldı
.divider
..dropdown-divider
- Açılır öğeler artık
.dropdown-item
. - Açılan geçişler artık açık bir
<span class="caret"></span>
; bu artık CSS'ler aracılığıyla otomatik olarak::after
sağlanmaktadır.dropdown-toggle
.
ızgara sistemi
- Yeni bir
576px
ızgara kesme noktası eklendism
, yani artık toplam beş katman (xs
,sm
,md
,lg
, vexl
) var. - Daha basit ızgara sınıfları için
.col-{breakpoint}-{modifier}-{size}
duyarlı ızgara değiştirici sınıfları ile arasında yeniden adlandırıldı ..{modifier}-{breakpoint}-{size}
- Yeni flexbox destekli sınıflar için bırakılan itme ve çekme değiştirici
order
sınıfları. Örneğin, and yerine.col-8.push-4
ve.col-4.pull-8
kullanırsınız ..col-8.order-2
.col-4.order-1
- Izgara sistemi ve bileşenleri için flexbox yardımcı sınıfları eklendi.
Liste grupları
- Bileşeni flexbox ile yeniden yazdı.
- Liste grubu öğelerinin bağlantı ve düğme sürümlerini biçimlendirmek
a.list-group-item
için açık bir sınıfla değiştirildi ..list-group-item-action
.list-group-flush
Kartlarla kullanım için sınıf eklendi .
kalıcı
- Bileşeni flexbox ile yeniden yazdı.
- Flexbox'a geçiş göz önüne alındığında, artık kayan nokta kullanmadığımız için başlıktaki görevden alma simgelerinin hizalanması muhtemelen bozuldu. Kayan içerik önce gelir, ancak flexbox ile artık durum böyle değil. Düzeltmek için kalıcı başlıklardan sonra gelecek şekilde kapatma simgelerinizi güncelleyin.
- Seçenek (
remote
harici içeriği bir modalın içine otomatik olarak yüklemek ve enjekte etmek için kullanılabilir) ve ilgililoaded.bs.modal
olay kaldırıldı. Bunun yerine, istemci tarafı şablon oluşturmayı veya bir veri bağlama çerçevesi kullanmanızı veya jQuery.load'ı kendiniz çağırmanızı öneririz.
Gezinmeler
- Bileşeni flexbox ile yeniden yazdı.
>
Yuvalanmamış sınıflar aracılığıyla daha basit stil için neredeyse tüm seçiciler kaldırıldı.- gibi HTML'ye özgü seçiciler yerine s, s ve s
.nav > li > a
için ayrı sınıflar kullanıyoruz . Bu, artan genişletilebilirliği beraberinde getirirken HTML'nizi daha esnek hale getirir..nav
.nav-item
.nav-link
gezinme çubuğu
Gezinme çubuğu, hizalama, yanıt verme ve özelleştirme için geliştirilmiş destekle flexbox'ta tamamen yeniden yazılmıştır.
- Duyarlı gezinme çubuğu davranışları artık , gezinme çubuğunu nereye daraltacağınızı seçtiğiniz gerekli
.navbar
yer aracılığıyla sınıfa uygulanıyor. Önceden bu, Daha Az değişkenli bir değişiklikti ve yeniden derleme gerektiriyordu..navbar-expand-{breakpoint}
.navbar-default
şimdi.navbar-light
olsa.navbar-dark
da aynı kalır. Her gezinme çubuğunda bunlardan biri gereklidir. Ancak, bu sınıflar artıkbackground-color
s'yi ayarlamaz; bunun yerine esasen sadece etkilerlercolor
.- Gezinme çubukları artık bir tür arka plan bildirimi gerektiriyor. Arka plan yardımcı programlarımızdan birini seçin ( ) veya çılgın özelleştirme için
.bg-*
yukarıdaki ışık/ters sınıflarla kendinizinkini ayarlayın . - Esnek kutu stilleri verildiğinde, gezinme çubukları artık kolay hizalama seçenekleri için esnek kutu yardımcı programlarını kullanabilir.
.navbar-toggle
şimdi.navbar-toggler
ve farklı stilleri ve iç işaretlemesi var (üç<span>
s'den fazla değil)..navbar-form
Sınıfı tamamen bıraktı . Artık gerekli değil; bunun yerine, gerektiği gibi kenar boşluğu yardımcı programlarını kullanın.form-inline
ve uygulayın.- Gezinme çubukları artık varsayılan olarak
margin-bottom
veya içermemektedir.border-radius
Yardımcı programları gerektiği gibi kullanın. - Gezinme çubuklarını içeren tüm örnekler, yeni işaretlemeyi içerecek şekilde güncellendi.
sayfalandırma
- Bileşeni flexbox ile yeniden yazdı.
- Açık sınıflar (
.page-item
, ) artık s.page-link
öğesinin soyundan gelenler için zorunludur.pagination
.pager
Bileşeni, özelleştirilmiş anahat düğmelerinden biraz daha fazlası olduğu için tamamen bıraktı .
Galeta unu
- s öğesinin soyundan gelenler için artık açık bir sınıf,
.breadcrumb-item
, gereklidir.breadcrumb
Etiketler ve rozetler
- Birleştirilmiş
.label
ve öğeden.badge
belirsizliği gidermek<label>
ve ilgili bileşenleri basitleştirmek. .badge-pill
Yuvarlak "hap" görünümü için değiştirici olarak eklendi .- Rozetler artık liste gruplarında ve diğer bileşenlerde otomatik olarak yüzdürülmez. Artık bunun için faydalı sınıflar gereklidir.
.badge-default
kaldırıldı ve.badge-secondary
başka bir yerde kullanılan bileşen değiştirici sınıflarıyla eşleşmesi için eklendi.
Paneller, küçük resimler ve kuyular
Yeni kart bileşeni için tamamen düştü.
Paneller
.panel
için.card
, şimdi flexbox ile inşa edilmiştir..panel-default
kaldırıldı ve değiştirilmedi..panel-group
kaldırıldı ve değiştirilmedi..card-group
ikame değildir, farklıdır..panel-heading
ile.card-header
.panel-title
için.card-title
. İstenen görünüme bağlı olarak, başlık öğelerini veya sınıflarını (örneğin<h3>
,.h3
) veya kalın öğeler veya sınıfları (örneğin<strong>
,<b>
, ) kullanmak da isteyebilirsiniz.font-weight-bold
..card-title
Benzer şekilde adlandırılmış olsa da, 'den farklı bir görünüm ürettiğine dikkat edin.panel-title
..panel-body
ile.card-body
.panel-footer
ile.card-footer
.panel-primary
,.panel-success
,.panel-info
,.panel-warning
ve Sass haritamızdan oluşturulan , , ve yardımcı programları.panel-danger
için bırakıldı ..bg-
.text-
.border
$theme-colors
İlerlemek
- Bağlamsal
.progress-bar-*
sınıflar.bg-*
yardımcı programlarla değiştirildi. Örneğin,class="progress-bar progress-bar-danger"
olurclass="progress-bar bg-danger"
. .active
ile animasyonlu ilerleme çubukları için değiştirildi.progress-bar-animated
.
atlıkarınca
- Tasarım ve stili basitleştirmek için tüm bileşen elden geçirildi. Geçersiz kılmanız için daha az stilimiz, yeni göstergelerimiz ve yeni simgelerimiz var.
- Tüm CSS'ler iç içe geçmiş ve yeniden adlandırılmış, her sınıfın önüne
.carousel-
.- Dönen öğeler için,
.next
,.prev
,.left
, ve.right
şimdi.carousel-item-next
,.carousel-item-prev
,.carousel-item-left
, ve.carousel-item-right
. .item
aynı zamanda şimdi.carousel-item
.- Önceki/sonraki denetimler için
.carousel-control.right
ve.carousel-control.left
şimdi.carousel-control-next
ve.carousel-control-prev
, yani artık belirli bir temel sınıf gerektirmezler.
- Dönen öğeler için,
- Tüm duyarlı stiller kaldırıldı, yardımcı programlara ertelendi (örneğin, belirli görünüm pencerelerinde altyazı gösterme) ve gerektiğinde özel stiller.
- Dönen öğelerdeki görüntüler için kaldırılan görüntü geçersiz kılmaları, yardımcı programlara ertelendi.
- Yeni işaretlemeyi ve stilleri dahil etmek için Carousel örneğinde ince ayar yapıldı.
Tablolar
- Tarz iç içe tablolar için destek kaldırıldı. Tüm tablo stilleri artık daha basit seçiciler için v4'te devralınır.
- Ters tablo varyantı eklendi.
Araçlar
- Görüntüleme, gizli ve daha fazlası:
- Ekran yardımcı programlarını duyarlı hale getirdi (örn .
.d-none
ved-{sm,md,lg,xl}-none
). .hidden-*
Yeni görüntüleme yardımcı programları için yardımcı programların çoğu kaldırıldı . Örneğin, yerine.hidden-sm-up
kullanın.d-sm-none
..hidden-print
Yardımcı programlar, görüntü yardımcı programı adlandırma şemasını kullanacak şekilde yeniden adlandırıldı. Bu sayfanın Duyarlı yardımcı programlar bölümü altında daha fazla bilgi ..float-{sm,md,lg,xl}-{left,right,none}
Duyarlı kayan noktalar için sınıflar eklendi ve kaldırıldı.pull-left
ve ve için.pull-right
gereksiz olduklarından ..float-left
.float-right
- Ekran yardımcı programlarını duyarlı hale getirdi (örn .
- Tip:
- Metin hizalama sınıflarımıza duyarlı varyasyonlar eklendi
.text-{sm,md,lg,xl}-{left,center,right}
.
- Metin hizalama sınıflarımıza duyarlı varyasyonlar eklendi
- Hizalama ve boşluk:
- Tüm taraflar için yeni duyarlı kenar boşluğu ve dolgu yardımcı programlarının yanı sıra dikey ve yatay stenolar eklendi.
- Tekne yükü flexbox yardımcı programları eklendi .
.center-block
Yeni.mx-auto
sınıf için düştü .
- Clearfix, eski tarayıcı sürümleri için desteği bırakacak şekilde güncellendi.
Satıcı önek karışımları
Bootstrap 3'ün v3.2.0'da kullanımdan kaldırılan satıcı önek karışımları, Bootstrap 4'te kaldırılmıştır. Autoprefixer kullandığımız için artık gerekli değiller.
Aşağıdaki karışımlar kaldırıldı : 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
belgeler
Belgelerimiz de yönetim kurulu genelinde bir yükseltme aldı. İşte düşük:
- Hala Jekyll kullanıyoruz, ancak karışımda eklentilerimiz var:
bugify.rb
tarayıcı hataları sayfamızdaki girişleri verimli bir şekilde listelemek için kullanılır .example.rb
varsayılanhighlight.rb
eklentinin özel bir çatalıdır ve örnek kod işlemeyi kolaylaştırır.callout.rb
buna benzer bir özel çataldır, ancak özel belge açıklamalarımız için tasarlanmıştır.- jekyll-toc , içindekiler tablomuzu oluşturmak için kullanılır.
- Tüm doküman içeriği, daha kolay düzenleme için Markdown'da (HTML yerine) yeniden yazılmıştır.
- Sayfalar, daha basit içerik ve daha ulaşılabilir bir hiyerarşi için yeniden düzenlendi.
- Bootstrap'in değişkenlerinden, karışımlarından ve daha fazlasından tam olarak yararlanmak için normal CSS'den SCSS'ye geçtik.
Duyarlı yardımcı programlar
Tüm @screen-
değişkenler v4.0.0'da kaldırıldı. media-breakpoint-up()
Bunun yerine , media-breakpoint-down()
veya media-breakpoint-only()
Sass karışımlarını veya $grid-breakpoints
Sass haritasını kullanın .
Duyarlı yardımcı program sınıflarımız, açık yardımcı programlar lehine büyük ölçüde kaldırılmıştır display
.
- ve sınıfları
.hidden
, jQuery ve yöntemleriyle.show
çeliştikleri için kaldırıldı . Bunun yerine, niteliği değiştirmeyi deneyin veya ve gibi satır içi stilleri kullanın .$(...).hide()
$(...).show()
[hidden]
style="display: none;"
style="display: block;"
- Yeniden adlandırılan yazdırma yardımcı programları hariç tüm
.hidden-
sınıflar kaldırıldı.- v3'ten kaldırıldı:
.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 alfalardan kaldırıldı:
.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'ten kaldırıldı:
- Yazdırma yardımcı programları artık
.hidden-
veya ile başlamaz.visible-
, ancak ile başlar.d-print-
.- Eski isimler:
.visible-print-block
,.visible-print-inline
,.visible-print-inline-block
,.hidden-print
- Yeni sınıflar:
.d-print-block
,.d-print-inline
,.d-print-inline-block
,.d-print-none
- Eski isimler:
Açık sınıflar kullanmak yerine .visible-*
, bir öğeyi o ekran boyutunda gizlemeyerek görünür hale getirirsiniz. Bir öğeyi yalnızca belirli bir ekran boyutu aralığında göstermek için bir sınıfı bir .d-*-none
sınıfla birleştirebilirsiniz (örn . öğeyi yalnızca orta ve büyük aygıtlarda gösterir)..d-*-block
.d-none.d-md-block.d-xl-none
v4'teki ızgara kesme noktalarında yapılan değişikliklerin, aynı sonuçları elde etmek için bir kesme noktası daha büyük gitmeniz gerekeceği anlamına geldiğini unutmayın. Yeni duyarlı yardımcı program sınıfları, bir öğenin görünürlüğünün tek bir bitişik görünüm alanı boyutu olarak ifade edilemediği daha az yaygın durumları barındırmaya çalışmaz; bunun yerine bu gibi durumlarda özel CSS kullanmanız gerekecektir.