Μεταφορά στο v4
Το Bootstrap 4 είναι μια σημαντική επανεγγραφή ολόκληρου του έργου. Οι πιο αξιοσημείωτες αλλαγές συνοψίζονται παρακάτω, ακολουθούμενες από πιο συγκεκριμένες αλλαγές σε σχετικά στοιχεία.
Μεταβαίνοντας από την Beta 3 στη σταθερή μας έκδοση v4.0, δεν υπάρχουν σημαντικές αλλαγές, αλλά υπάρχουν μερικές αξιοσημείωτες αλλαγές.
-
Διορθώθηκαν σπασμένα βοηθητικά προγράμματα εκτύπωσης. Προηγουμένως, η χρήση μιας
.d-print-*
κλάσης απροσδόκητα θα ακύρωνε οποιαδήποτε άλλη.d-*
κλάση. Τώρα, ταιριάζουν με τα άλλα βοηθητικά προγράμματα προβολής και ισχύουν μόνο για αυτά τα μέσα (@media print
). -
Επέκτασε τα διαθέσιμα βοηθητικά προγράμματα εμφάνισης εκτύπωσης για να ταιριάζει με άλλα βοηθητικά προγράμματα. Η έκδοση beta 3 και παλαιότερη είχε μόνο
block
,inline-block
,inline
καιnone
. Προστέθηκε σταθερό v4flex
,inline-flex
,table
,table-row
καιtable-cell
. -
Διορθώθηκε η απόδοση προεπισκόπησης εκτύπωσης σε προγράμματα περιήγησης με νέα στυλ εκτύπωσης που καθορίζουν
@page
size
.
Ενώ η Beta 2 είδε το μεγαλύτερο μέρος των ριζικών αλλαγών μας κατά τη φάση beta, αλλά εξακολουθούμε να έχουμε μερικές που έπρεπε να αντιμετωπιστούν στην έκδοση Beta 3. Αυτές οι αλλαγές ισχύουν εάν κάνετε ενημέρωση σε Beta 3 από Beta 2 ή οποιαδήποτε παλαιότερη έκδοση του Bootstrap.
- Καταργήθηκε η αχρησιμοποίητη
$thumbnail-transition
μεταβλητή. Δεν μεταβαίναμε τίποτα, οπότε ήταν απλώς επιπλέον κώδικας. - Το πακέτο npm δεν περιλαμβάνει πλέον άλλα αρχεία εκτός από τα αρχεία πηγής και απόστασης. εάν βασίζεστε σε αυτά και εκτελείτε τα σενάρια μας μέσω του
node_modules
φακέλου, θα πρέπει να προσαρμόσετε τη ροή εργασίας σας.
-
Ξαναέγραψε τόσο τα προσαρμοσμένα όσο και τα προεπιλεγμένα πλαίσια ελέγχου και τα ραδιόφωνα. Τώρα, και τα δύο έχουν αντίστοιχη δομή HTML (εξωτερική
<div>
με αδερφό<input>
και<label>
) και τα ίδια στυλ διάταξης (στοίβαξη προεπιλογή, ενσωματωμένη με κλάση τροποποιητή). Αυτό μας επιτρέπει να διαμορφώνουμε το στυλ της ετικέτας με βάση την κατάσταση της εισαγωγής, απλοποιώντας την υποστήριξη για τοdisabled
χαρακτηριστικό (που προηγουμένως απαιτούσε γονική κλάση) και υποστηρίζοντας καλύτερα την επικύρωση της φόρμας μας.Ως μέρος αυτού, αλλάξαμε το CSS για τη διαχείριση πολλαπλών
background-image
s σε πλαίσια ελέγχου προσαρμοσμένης φόρμας και ραδιόφωνα. Προηγουμένως, το πλέον καταργημένο.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, στοχεύουμε να μην έχουμε αλλαγές. Ωστόσο, τα πράγματα δεν πάνε πάντα όπως τα σχεδίαζε. Ακολουθούν οι σημαντικές αλλαγές που πρέπει να έχετε κατά νου όταν μετακινείστε από την 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, καθώς τα προγράμματα περιήγησης που υποστηρίζονται από το v3.x είναι αυτά που υποστηρίζει το Bootstrap και το v3.x έχει ορισμένες διορθώσεις ασφαλείας.
- Καταργήθηκε η αχρησιμοποίητη
.form-control-label
κλάση. Εάν όντως χρησιμοποιήσατε αυτήν την κλάση, ήταν αντίγραφο της.col-form-label
κλάσης που κεντράρει κάθετα το a<label>
με τη συσχετισμένη είσοδο σε διατάξεις οριζόντιας μορφής. - Άλλαξε το
color-yiq
από ένα mixin που περιελάμβανε τηνcolor
ιδιότητα σε μια συνάρτηση που επιστρέφει μια τιμή, επιτρέποντάς σας να τη χρησιμοποιήσετε για οποιαδήποτε ιδιότητα CSS. Για παράδειγμα, αντί γιαcolor-yiq(#000)
, θα γράφατεcolor: color-yiq(#000);
.
- Εισήγαγε νέα
pointer-events
χρήση στα modals. Το εξωτερικό.modal-dialog
περνά μέσα από συμβάντα μεpointer-events: none
προσαρμοσμένο χειρισμό κλικ (καθιστώντας δυνατή την απλή ακρόαση του.modal-backdrop
για τυχόν κλικ) και, στη συνέχεια, το αντισταθμίζει για το πραγματικό.modal-content
μεpointer-events: auto
.
Εδώ είναι τα μεγάλα στοιχεία εισιτηρίων που θα θέλετε να γνωρίζετε όταν μετακινείστε από το v3 στο v4.
- Έπεσε η υποστήριξη IE8, IE9 και iOS 6. Το v4 είναι πλέον μόνο IE10+ και iOS 7+. Για ιστότοπους που χρειάζονται ένα από αυτά, χρησιμοποιήστε το v3.
- Προστέθηκε επίσημη υποστήριξη για Android v5.0 Lollipop's Browser και WebView. Οι προηγούμενες εκδόσεις του προγράμματος περιήγησης Android και του WebView εξακολουθούν να υποστηρίζονται μόνο ανεπίσημα.
- Το Flexbox είναι ενεργοποιημένο από προεπιλογή. Σε γενικές γραμμές, αυτό σημαίνει μια απομάκρυνση από τους πλωτήρες και περισσότερο στα εξαρτήματά μας.
- Έγινε εναλλαγή από Less σε Sass για τα αρχεία CSS προέλευσης.
- Έγινε εναλλαγή από
px
σεrem
ως κύρια μονάδα CSS, αν και τα pixel εξακολουθούν να χρησιμοποιούνται για ερωτήματα πολυμέσων και συμπεριφορά πλέγματος, καθώς οι θύρες προβολής της συσκευής δεν επηρεάζονται από το μέγεθος του τύπου. - Το παγκόσμιο μέγεθος γραμματοσειράς αυξήθηκε από
14px
σε16px
. - Αναβάθμισε τα επίπεδα πλέγματος για να προσθέσει μια πέμπτη επιλογή (απευθυνόμενη σε μικρότερες συσκευές από
576px
και κάτω) και αφαίρεσε το-xs
infix από αυτές τις κλάσεις. Παράδειγμα:.col-6.col-sm-4.col-md-3
. - Αντικαταστάθηκε το ξεχωριστό προαιρετικό θέμα με διαμορφώσιμες επιλογές μέσω μεταβλητών SCSS (π.χ.,
$enable-gradients: true
). - Η κατασκευή του συστήματος αναθεωρήθηκε για να χρησιμοποιήσει μια σειρά σεναρίων npm αντί για Grunt. Δείτε
package.json
για όλα τα σενάρια ή το έργο μας readme για τις ανάγκες τοπικής ανάπτυξης. - Η μη αποκρινόμενη χρήση του Bootstrap δεν υποστηρίζεται πλέον.
- Έριξε το διαδικτυακό Customizer υπέρ της πιο εκτεταμένης τεκμηρίωσης εγκατάστασης και προσαρμοσμένων εκδόσεων.
- Προστέθηκαν δεκάδες νέες κατηγορίες βοηθητικών προγραμμάτων για κοινά ζεύγη ιδιοτήτων-τιμών CSS και συντομεύσεις απόστασης περιθωρίου/επέμβασης.
- Μεταφέρθηκε στο flexbox.
- Προστέθηκε υποστήριξη για το flexbox στις μίξεις πλέγματος και στις προκαθορισμένες κλάσεις.
- Ως μέρος του flexbox, περιλαμβάνεται υποστήριξη για κατηγορίες κάθετης και οριζόντιας ευθυγράμμισης.
- Ενημερώθηκαν τα ονόματα κλάσεων πλέγματος και ένα νέο επίπεδο πλέγματος.
- Προστέθηκε μια νέα
sm
βαθμίδα πλέγματος παρακάτω768px
για πιο λεπτομερή έλεγχο. Τώρα έχουμεxs
,sm
,md
,lg
καιxl
. Αυτό σημαίνει επίσης ότι κάθε επίπεδο έχει ανέβει ένα επίπεδο (άρα.col-md-6
στο v3 είναι τώρα.col-lg-6
στο v4). xs
Οι κλάσεις πλέγματος έχουν τροποποιηθεί ώστε να μην απαιτείται από το infix να αντιπροσωπεύει με μεγαλύτερη ακρίβεια ότι αρχίζουν να εφαρμόζουν στυλ σεmin-width: 0
και όχι μια καθορισμένη τιμή pixel. Αντί για.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
- Octicons
- Γραμματοσειρά φοβερή
- Δείτε τη σελίδα Επέκταση για μια λίστα εναλλακτικών επιλογών. Έχετε επιπλέον προτάσεις; Ανοίξτε ένα θέμα ή PR.
- Έριξε το πρόσθετο 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
και<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 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]
, εξακολουθεί να είναι απαραίτητο επειδή τα εγγενή απενεργοποιημένα σύνολα πεδίων εξακολουθούν να είναι buggy στον 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 and 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, η στοίχιση των εικονιδίων απόρριψης στην κεφαλίδα είναι πιθανό να έχει σπάσει καθώς δεν χρησιμοποιούμε πλέον floats. Το Floated περιεχόμενο έρχεται πρώτο, αλλά με το flexbox αυτό δεν ισχύει πλέον. Ενημερώστε τα εικονίδια απόρριψης για να έρθουν μετά τους τίτλους που θα διορθωθούν.
- Η
remote
επιλογή (η οποία θα μπορούσε να χρησιμοποιηθεί για αυτόματη φόρτωση και εισαγωγή εξωτερικού περιεχομένου σε ένα modal) και το αντίστοιχο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
, ) στους απογόνους του s.page-link
.pagination
- Έριξε
.pager
εντελώς το στοιχείο καθώς ήταν κάτι περισσότερο από προσαρμοσμένα κουμπιά περιγράμματος.
- Μια ρητή κλάση,
.breadcrumb-item
, απαιτείται τώρα στους απογόνους του.breadcrumb
s
- Ενοποιημένα
.label
και.badge
για την αποσαφήνιση από το<label>
στοιχείο και την απλοποίηση των σχετικών στοιχείων. - Προστέθηκε
.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
βοηθητικά προγράμματα για να χρησιμοποιήσει το σχήμα ονοματοδοσίας του βοηθητικού προγράμματος προβολής. Περισσότερες πληροφορίες στην ενότητα Responsive utilities αυτής της σελίδας. - Προστέθηκαν
.float-{sm,md,lg,xl}-{left,right,none}
κλάσεις για ανταποκρινόμενες floats και καταργήθηκαν.pull-left
και.pull-right
επειδή είναι περιττές σε.float-left
και.float-right
.
- Έκανε τα βοηθητικά προγράμματα προβολής να ανταποκρίνονται (π.χ.
- Τύπος:
- Προστέθηκαν αποκριτικές παραλλαγές στις τάξεις μας στοίχισης κειμένου
.text-{sm,md,lg,xl}-{left,center,right}
.
- Προστέθηκαν αποκριτικές παραλλαγές στις τάξεις μας στοίχισης κειμένου
- Ευθυγράμμιση και απόσταση:
- Προστέθηκαν νέα βοηθητικά προγράμματα περιθωρίου και padding για όλες τις πλευρές, καθώς και κάθετες και οριζόντιες στενογραφήσεις.
- Προστέθηκε φορτίο σκάφους με βοηθητικά προγράμματα flexbox .
- Έφυγε
.center-block
για τη νέα.mx-auto
τάξη.
- Το Clearfix ενημερώθηκε για να σταματήσει η υποστήριξη για παλαιότερες εκδόσεις του προγράμματος περιήγησης.
Τα mixin προθέματα προμηθευτή του 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 για να εκμεταλλευτούμε πλήρως τις μεταβλητές, τα mixins και πολλά άλλα του Bootstrap.
Όλες οι @screen-
μεταβλητές έχουν αφαιρεθεί στην έκδοση 4.0.0. Αντ' αυτού, χρησιμοποιήστε τις μίξεις media-breakpoint-up()
, media-breakpoint-down()
ή media-breakpoint-only()
Sass ή τον $grid-breakpoints
χάρτη Sass.
Οι αποκριτικές κατηγορίες βοηθητικών προγραμμάτων μας έχουν καταργηθεί σε μεγάλο βαθμό προς όφελος των ρητών display
βοηθητικών προγραμμάτων.
- Οι κλάσεις
.hidden
και.show
έχουν αφαιρεθεί επειδή έρχονταν σε διένεξη με τις μεθόδους$(...).hide()
και τις$(...).show()
μεθόδους του jQuery. Αντίθετα, δοκιμάστε να αλλάξετε το[hidden]
χαρακτηριστικό ή χρησιμοποιήστε ενσωματωμένα στυλ όπωςstyle="display: none;"
καιstyle="display: block;"
. - Όλες οι
.hidden-
κλάσεις έχουν αφαιρεθεί, εκτός από τα βοηθητικά προγράμματα εκτύπωσης που έχουν μετονομαστεί.- Καταργήθηκε από την έκδοση 3:
.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 alpha:
.hidden-xs-up
.hidden-xs-down
.hidden-sm-up
.hidden-sm-down
.hidden-md-up
.hidden-md-down
.hidden-lg-up
.hidden-lg-down
- Καταργήθηκε από την έκδοση 3:
- Τα βοηθητικά προγράμματα εκτύπωσης δεν ξεκινούν πλέον με
.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
εμφανίζει το στοιχείο μόνο σε μεσαίες και μεγάλες συσκευές).
Λάβετε υπόψη ότι οι αλλαγές στα σημεία διακοπής του πλέγματος στο v4 σημαίνουν ότι θα χρειαστεί να αυξήσετε το σημείο διακοπής για να επιτύχετε τα ίδια αποτελέσματα. Οι νέες αποκριτικές κατηγορίες βοηθητικών προγραμμάτων δεν προσπαθούν να φιλοξενήσουν λιγότερο συνηθισμένες περιπτώσεις όπου η ορατότητα ενός στοιχείου δεν μπορεί να εκφραστεί ως ένα ενιαίο συνεχόμενο εύρος μεγεθών θυρών προβολής. Αντίθετα, θα χρειαστεί να χρησιμοποιήσετε προσαρμοσμένο CSS σε τέτοιες περιπτώσεις.