Παραδείγματα και οδηγίες χρήσης για στυλ ελέγχου φόρμας, επιλογές διάταξης και προσαρμοσμένα στοιχεία για τη δημιουργία μεγάλης ποικιλίας φορμών.
ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
Τα στοιχεία ελέγχου φόρμας του Bootstrap επεκτείνονται στα στυλ φόρμας Επανεκκίνησης με κλάσεις. Χρησιμοποιήστε αυτές τις κλάσεις για να επιλέξετε τις προσαρμοσμένες οθόνες τους για πιο συνεπή απόδοση σε προγράμματα περιήγησης και συσκευές.
Βεβαιωθείτε ότι χρησιμοποιείτε ένα κατάλληλο typeχαρακτηριστικό σε όλες τις εισόδους (π.χ. emailγια διεύθυνση email ή numberγια αριθμητικές πληροφορίες) για να επωφεληθείτε από νεότερα στοιχεία ελέγχου εισαγωγής, όπως επαλήθευση email, επιλογή αριθμού και άλλα.
Ακολουθεί ένα γρήγορο παράδειγμα για την επίδειξη των στυλ φόρμας του Bootstrap. Συνεχίστε να διαβάζετε για τεκμηρίωση σχετικά με τις απαιτούμενες τάξεις, τη διάταξη της φόρμας και άλλα.
Έλεγχοι φορμών
Τα στοιχεία ελέγχου κειμενικής φόρμας —όπως <input>s, <select>s και <textarea>s— διαμορφώνονται με την .form-controlτάξη. Περιλαμβάνονται στυλ για γενική εμφάνιση, κατάσταση εστίασης, μέγεθος και πολλά άλλα.
Φροντίστε να εξερευνήσετε τις προσαρμοσμένες φόρμες μας για να βελτιώσετε το στυλ <select>.
Για εισόδους αρχείων, αλλάξτε το .form-controlγια .form-control-file.
Κόλλα
Ορίστε ύψη χρησιμοποιώντας κλάσεις όπως .form-control-lgκαι .form-control-sm.
Μόνο για ανάγνωση
Προσθέστε το readonlyχαρακτηριστικό boolean σε μια είσοδο για να αποτρέψετε την τροποποίηση της τιμής της εισόδου. Οι είσοδοι μόνο για ανάγνωση εμφανίζονται πιο ελαφριές (όπως οι απενεργοποιημένες είσοδοι), αλλά διατηρούν τον τυπικό δρομέα.
Απλό κείμενο μόνο για ανάγνωση
Εάν θέλετε να έχετε <input readonly>στοιχεία στη φόρμα σας με στυλ απλού κειμένου, χρησιμοποιήστε την .form-control-plaintextκλάση για να αφαιρέσετε το προεπιλεγμένο στυλ του πεδίου φόρμας και να διατηρήσετε το σωστό περιθώριο και την αναπλήρωση.
Τα προεπιλεγμένα πλαίσια ελέγχου και τα ραδιόφωνα βελτιώνονται με τη βοήθεια μιας κλάσης .form-checkκαι για τους δύο τύπους εισόδου που βελτιώνει τη διάταξη και τη συμπεριφορά των στοιχείων HTML τους . Τα πλαίσια ελέγχου είναι για την επιλογή μιας ή περισσότερων επιλογών σε μια λίστα, ενώ τα ραδιόφωνα είναι για την επιλογή μιας επιλογής από πολλές.
Υποστηρίζονται απενεργοποιημένα πλαίσια ελέγχου και ραδιόφωνα, αλλά για να παρέχετε έναν not-allowedδρομέα στον δείκτη του ποντικιού του γονέα <label>, θα πρέπει να προσθέσετε το disabledχαρακτηριστικό στο .form-check-input. Το χαρακτηριστικό απενεργοποιημένο θα εφαρμόσει ένα πιο ανοιχτό χρώμα για να υποδείξει την κατάσταση της εισόδου.
Τα πλαίσια ελέγχου και η χρήση ραδιοφώνου έχουν δημιουργηθεί για να υποστηρίζουν την επικύρωση φόρμας που βασίζεται σε HTML και να παρέχουν συνοπτικές, προσβάσιμες ετικέτες. Ως εκ τούτου, τα <input>s και <label>τα s μας είναι αδελφικά στοιχεία σε αντίθεση με ένα <input>μέσα σε ένα <label>. Αυτό είναι ελαφρώς πιο αναλυτικό καθώς πρέπει να καθορίσετε idκαι forχαρακτηριστικά για να συσχετίσετε το <input>και <label>.
Προεπιλογή (στοιβάζονται)
Από προεπιλογή, οποιοσδήποτε αριθμός πλαισίων ελέγχου και ραδιόφωνων που είναι άμεσος αδερφός θα στοιβάζονται κάθετα και θα τοποθετούνται σε κατάλληλη απόσταση με .form-check.
Στη γραμμή
Ομαδοποιήστε τα πλαίσια ελέγχου ή τα ραδιόφωνα στην ίδια οριζόντια σειρά προσθέτοντας .form-check-inlineσε οποιαδήποτε .form-check.
Χωρίς ετικέτες
Προσθήκη .position-staticσε εισόδους .form-checkπου δεν έχουν κείμενο ετικέτας. Θυμηθείτε να παρέχετε ακόμα κάποια μορφή ετικέτας για υποστηρικτικές τεχνολογίες (για παράδειγμα, χρησιμοποιώντας aria-label).
Διάταξη
Εφόσον το Bootstrap ισχύει display: blockκαι width: 100%σχεδόν σε όλα τα στοιχεία ελέγχου φορμών, οι φόρμες θα στοιβάζονται από προεπιλογή κάθετα. Μπορούν να χρησιμοποιηθούν πρόσθετες τάξεις για να διαφοροποιηθεί αυτή η διάταξη ανάλογα με τη φόρμα.
Σχηματίστε ομάδες
Η .form-groupτάξη είναι ο ευκολότερος τρόπος για να προσθέσετε κάποια δομή σε φόρμες. Παρέχει μια ευέλικτη κλάση που ενθαρρύνει τη σωστή ομαδοποίηση ετικετών, στοιχείων ελέγχου, προαιρετικού κειμένου βοήθειας και μηνυμάτων επικύρωσης φόρμας. Από προεπιλογή ισχύει μόνο margin-bottom, αλλά επιλέγει πρόσθετα στυλ ανάλογα με .form-inlineτις ανάγκες. Χρησιμοποιήστε το με <fieldset>s, <div>s ή σχεδόν οποιοδήποτε άλλο στοιχείο.
Πλέγμα φόρμας
Πιο πολύπλοκες φόρμες μπορούν να δημιουργηθούν χρησιμοποιώντας τις τάξεις πλέγματος μας. Χρησιμοποιήστε τα για διατάξεις φόρμας που απαιτούν πολλές στήλες, ποικίλα πλάτη και πρόσθετες επιλογές στοίχισης.
Σχήμα σειράς
Μπορείτε επίσης να ανταλλάξετε .rowγια .form-row, μια παραλλαγή της τυπικής σειράς πλέγματος που υπερισχύει των προεπιλεγμένων υδρορροών στηλών για πιο σφιχτές και πιο συμπαγείς διατάξεις.
Μπορούν επίσης να δημιουργηθούν πιο σύνθετες διατάξεις με το σύστημα πλέγματος.
Οριζόντια μορφή
Δημιουργήστε οριζόντιες φόρμες με το πλέγμα προσθέτοντας την .rowκλάση για να σχηματίσετε ομάδες και χρησιμοποιώντας τις .col-*-*κλάσεις για να καθορίσετε το πλάτος των ετικετών και των στοιχείων ελέγχου σας. Φροντίστε να προσθέσετε .col-form-labelκαι στα <label>s σας, ώστε να είναι κατακόρυφα στο κέντρο με τα συσχετισμένα στοιχεία ελέγχου φόρμας.
Μερικές φορές, ίσως χρειαστεί να χρησιμοποιήσετε βοηθητικά προγράμματα περιθωρίου ή padding για να δημιουργήσετε την τέλεια ευθυγράμμιση που χρειάζεστε. Για παράδειγμα, αφαιρέσαμε την padding-topετικέτα των στοιβαγμένων εισόδων ραδιοφώνου για να ευθυγραμμίσουμε καλύτερα τη γραμμή βάσης του κειμένου.
Οριζόντια διαστασιολόγηση ετικετών
Βεβαιωθείτε ότι χρησιμοποιείτε .col-form-label-smή .col-form-label-lgστα <label>s ή <legend>s σας για να ακολουθείτε σωστά το μέγεθος του .form-control-lgκαι .form-control-sm.
Μέγεθος στήλης
Όπως φαίνεται στα προηγούμενα παραδείγματα, το σύστημα πλέγματος μας σας επιτρέπει να τοποθετήσετε οποιονδήποτε αριθμό .cols μέσα σε ένα .rowή .form-row. Θα μοιράσουν το διαθέσιμο πλάτος εξίσου μεταξύ τους. Μπορείτε επίσης να επιλέξετε ένα υποσύνολο των στηλών σας για να καταλαμβάνει περισσότερο ή λιγότερο χώρο, ενώ οι υπόλοιπες .colμοιράζονται εξίσου τις υπόλοιπες, με συγκεκριμένες κατηγορίες στηλών όπως .col-7.
Αυτόματη ρύθμιση μεγέθους
Το παρακάτω παράδειγμα χρησιμοποιεί ένα βοηθητικό πρόγραμμα flexbox για να κεντράρει κατακόρυφα τα περιεχόμενα και αλλάζει .colέτσι .col-autoώστε οι στήλες σας να καταλαμβάνουν μόνο όσο χώρο χρειάζεται. Με άλλα λόγια, η στήλη μεγεθύνεται με βάση τα περιεχόμενα.
Στη συνέχεια, μπορείτε να το αναμίξετε ξανά με κατηγορίες στηλών για συγκεκριμένο μέγεθος.
Χρησιμοποιήστε την .form-inlineκλάση για να εμφανίσετε μια σειρά από ετικέτες, στοιχεία ελέγχου φορμών και κουμπιά σε μια ενιαία οριζόντια σειρά. Τα στοιχεία ελέγχου φορμών στις ενσωματωμένες φόρμες διαφέρουν ελαφρώς από τις προεπιλεγμένες καταστάσεις τους.
Τα στοιχεία ελέγχου είναι display: flex, συμπτύσσοντας οποιοδήποτε λευκό χώρο HTML και σας επιτρέπουν να παρέχετε έλεγχο στοίχισης με βοηθητικά προγράμματα διαστήματος και flexbox .
Τα στοιχεία ελέγχου και οι ομάδες εισόδου λαμβάνουν width: autoγια να αντικαταστήσουν την προεπιλογή του Bootstrap width: 100%.
Τα στοιχεία ελέγχου εμφανίζονται ενσωματωμένα μόνο σε θύρες προβολής με πλάτος τουλάχιστον 576 εικονοστοιχεία για να ληφθούν υπόψη οι στενές θύρες προβολής σε κινητές συσκευές.
Ίσως χρειαστεί να αντιμετωπίσετε μη αυτόματα το πλάτος και την ευθυγράμμιση μεμονωμένων στοιχείων ελέγχου φορμών με βοηθητικά προγράμματα διαστήματος (όπως φαίνεται παρακάτω). Τέλος, φροντίστε να συμπεριλαμβάνετε πάντα ένα <label>σε κάθε στοιχείο ελέγχου φόρμας, ακόμα κι αν χρειάζεται να το αποκρύψετε από επισκέπτες που δεν έχουν ανάγνωση οθόνης με .sr-only.
Υποστηρίζονται επίσης προσαρμοσμένα στοιχεία ελέγχου και επιλογές φόρμας.
Εναλλακτικές λύσεις για κρυφές ετικέτες
Οι βοηθητικές τεχνολογίες, όπως τα προγράμματα ανάγνωσης οθόνης, θα έχουν πρόβλημα με τις φόρμες σας, εάν δεν συμπεριλάβετε μια ετικέτα για κάθε εισαγωγή. Για αυτές τις ενσωματωμένες φόρμες, μπορείτε να αποκρύψετε τις ετικέτες χρησιμοποιώντας την .sr-onlyκλάση. Υπάρχουν περαιτέρω εναλλακτικές μέθοδοι παροχής ετικέτας για υποστηρικτικές τεχνολογίες, όπως το χαρακτηριστικό aria-label, aria-labelledbyή title. Εάν δεν υπάρχει κανένα από αυτά, οι υποστηρικτικές τεχνολογίες ενδέχεται να καταφύγουν στη χρήση του placeholderχαρακτηριστικού, εάν υπάρχει, αλλά σημειώστε ότι η χρήση του placeholderως αντικατάσταση για άλλες μεθόδους επισήμανσης δεν συνιστάται.
Βοήθεια ΚΕΙΜΕΝΟΥ
Το κείμενο βοήθειας σε επίπεδο μπλοκ σε φόρμες μπορεί να δημιουργηθεί χρησιμοποιώντας .form-text(παλαιότερα γνωστό ως .help-blockστο v3). Το ενσωματωμένο κείμενο βοήθειας μπορεί να εφαρμοστεί με ευελιξία χρησιμοποιώντας οποιοδήποτε στοιχείο ενσωματωμένο HTML και κλάσεις βοηθητικού προγράμματος όπως .text-muted.
Συσχέτιση κειμένου βοήθειας με στοιχεία ελέγχου φόρμας
Το κείμενο βοήθειας θα πρέπει να συσχετίζεται ρητά με το στοιχείο ελέγχου φόρμας με το οποίο σχετίζεται χρησιμοποιώντας το aria-describedbyχαρακτηριστικό. Αυτό θα διασφαλίσει ότι οι υποστηρικτικές τεχνολογίες—όπως τα προγράμματα ανάγνωσης οθόνης—θα ανακοινώσουν αυτό το κείμενο βοήθειας όταν ο χρήστης εστιάζει ή εισέρχεται στο στοιχείο ελέγχου.
Το κείμενο βοήθειας κάτω από τις εισαγωγές μπορεί να διαμορφωθεί με .form-text. Αυτή η κλάση περιλαμβάνει display: blockκαι προσθέτει κάποιο κορυφαίο περιθώριο για εύκολη απόσταση από τις παραπάνω εισόδους.
Ο κωδικός πρόσβασής σας πρέπει να αποτελείται από 8-20 χαρακτήρες, να περιέχει γράμματα και αριθμούς και να μην περιέχει κενά, ειδικούς χαρακτήρες ή emoji.
Το ενσωματωμένο κείμενο μπορεί να χρησιμοποιήσει οποιοδήποτε τυπικό ενσωματωμένο στοιχείο HTML (είτε είναι <small>, <span>, ή κάτι άλλο) με τίποτα περισσότερο από μια τάξη βοηθητικού προγράμματος.
Φόρμες για άτομα με ειδικές ανάγκες
Προσθέστε το disabledχαρακτηριστικό boolean σε μια είσοδο για να αποτρέψετε τις αλληλεπιδράσεις των χρηστών και να το κάνετε να φαίνεται πιο ελαφρύ.
Προσθέστε το disabledχαρακτηριστικό στο a <fieldset>για να απενεργοποιήσετε όλα τα στοιχεία ελέγχου εντός.
Προειδοποίηση με άγκυρες
Από προεπιλογή, τα προγράμματα περιήγησης θα αντιμετωπίζουν όλα τα εγγενή στοιχεία ελέγχου φόρμας ( <input>, <select>και <button>στοιχεία) μέσα σε ένα <fieldset disabled>ως απενεργοποιημένα, αποτρέποντας τις αλληλεπιδράσεις τόσο του πληκτρολογίου όσο και του ποντικιού σε αυτά. Ωστόσο, εάν η φόρμα σας περιλαμβάνει επίσης <a ... class="btn btn-*">στοιχεία, θα δοθεί μόνο ένα στυλ pointer-events: none. Όπως σημειώνεται στην ενότητα σχετικά με την κατάσταση απενεργοποίησης για τα κουμπιά (και συγκεκριμένα στην υποενότητα για στοιχεία αγκύρωσης), αυτή η ιδιότητα CSS δεν είναι ακόμη τυποποιημένη και δεν υποστηρίζεται πλήρως στον Internet Explorer 10 και δεν εμποδίζει τους χρήστες πληκτρολογίου να μπορεί να εστιάσει ή να ενεργοποιήσει αυτούς τους συνδέσμους. Για να είστε ασφαλείς, χρησιμοποιήστε προσαρμοσμένη JavaScript για να απενεργοποιήσετε τέτοιους συνδέσμους.
Συμβατότητα μεταξύ προγραμμάτων περιήγησης
Ενώ το Bootstrap θα εφαρμόσει αυτά τα στυλ σε όλα τα προγράμματα περιήγησης, ο Internet Explorer 11 και παρακάτω δεν υποστηρίζουν πλήρως το disabledχαρακτηριστικό σε ένα <fieldset>. Χρησιμοποιήστε προσαρμοσμένη JavaScript για να απενεργοποιήσετε το σύνολο πεδίων σε αυτά τα προγράμματα περιήγησης.
Επικύρωση
Παρέχετε πολύτιμα, χρήσιμα σχόλια στους χρήστες σας με επικύρωση φόρμας HTML5 – διαθέσιμη σε όλα τα υποστηριζόμενα προγράμματα περιήγησης . Επιλέξτε από τα προεπιλεγμένα σχόλια επικύρωσης του προγράμματος περιήγησης ή εφαρμόστε προσαρμοσμένα μηνύματα με τις ενσωματωμένες κλάσεις και την JavaScript εκκίνησης.
Προς το παρόν, συνιστούμε τη χρήση προσαρμοσμένων στυλ επικύρωσης, καθώς τα προεπιλεγμένα μηνύματα επικύρωσης του εγγενούς προγράμματος περιήγησης δεν εκτίθενται με συνέπεια σε βοηθητικές τεχνολογίες σε όλα τα προγράμματα περιήγησης (κυρίως το Chrome σε επιτραπέζιους υπολογιστές και κινητά).
Πως δουλεύει
Δείτε πώς λειτουργεί η επικύρωση φόρμας με το Bootstrap:
Η επικύρωση φόρμας HTML εφαρμόζεται μέσω των δύο ψευδοκλάσεων του CSS :invalidκαι :valid. Ισχύει για <input>, <select>, και <textarea>στοιχεία.
Το Bootstrap καλύπτει τα στυλ :invalidκαι :validστη γονική .was-validatedκλάση, που συνήθως εφαρμόζονται στο <form>. Διαφορετικά, οποιοδήποτε απαιτούμενο πεδίο χωρίς τιμή εμφανίζεται ως μη έγκυρο κατά τη φόρτωση της σελίδας. Με αυτόν τον τρόπο, μπορείτε να επιλέξετε πότε θα τα ενεργοποιήσετε (συνήθως μετά την απόπειρα υποβολής φόρμας).
Για να επαναφέρετε την εμφάνιση της φόρμας (για παράδειγμα, στην περίπτωση υποβολών δυναμικής φόρμας με χρήση AJAX), αφαιρέστε την .was-validatedκλάση από την <form>ξανά μετά την υποβολή.
Ως εναλλακτική λύση, .is-invalidκαι οι .is-validκλάσεις μπορούν να χρησιμοποιηθούν αντί για τις ψευδο-κλάσεις για επικύρωση από την πλευρά του διακομιστή . Δεν απαιτούν .was-validatedτάξη γονέα.
Λόγω περιορισμών στον τρόπο λειτουργίας του CSS, δεν μπορούμε (προς το παρόν) να εφαρμόσουμε στυλ σε ένα <label>που βρίσκεται πριν από ένα στοιχείο ελέγχου φόρμας στο DOM χωρίς τη βοήθεια προσαρμοσμένης JavaScript.
Όλα τα σύγχρονα προγράμματα περιήγησης υποστηρίζουν το API επικύρωσης περιορισμών , μια σειρά μεθόδων JavaScript για την επικύρωση στοιχείων ελέγχου φορμών.
Τα μηνύματα σχολίων ενδέχεται να χρησιμοποιούν τις προεπιλογές του προγράμματος περιήγησης (διαφορετικές για κάθε πρόγραμμα περιήγησης και μη μορφοποιημένες μέσω CSS) ή τα προσαρμοσμένα στυλ σχολίων μας με επιπλέον HTML και CSS.
Μπορείτε να παρέχετε προσαρμοσμένα μηνύματα εγκυρότητας setCustomValidityσε JavaScript.
Έχοντας αυτό υπόψη, εξετάστε τις ακόλουθες επιδείξεις για τα προσαρμοσμένα στυλ επικύρωσης φόρμας, τις προαιρετικές τάξεις από την πλευρά του διακομιστή και τις προεπιλογές του προγράμματος περιήγησης.
Προσαρμοσμένα στυλ
Για προσαρμοσμένα μηνύματα επικύρωσης φόρμας Bootstrap, θα πρέπει να προσθέσετε το novalidateχαρακτηριστικό boolean στο <form>. Αυτό απενεργοποιεί τις προεπιλεγμένες συμβουλές εργαλείων σχολίων του προγράμματος περιήγησης, αλλά εξακολουθεί να παρέχει πρόσβαση στα API επικύρωσης φορμών στο JavaScript. Προσπαθήστε να υποβάλετε την παρακάτω φόρμα. Η JavaScript μας θα παρεμποδίσει το κουμπί υποβολής και θα σας μεταδώσει σχόλια.
Όταν προσπαθείτε να υποβάλετε, θα δείτε τα στυλ :invalidκαι που εφαρμόζονται στα στοιχεία ελέγχου της φόρμας σας.:valid
Προεπιλογές προγράμματος περιήγησης
Δεν σας ενδιαφέρει τα προσαρμοσμένα μηνύματα σχολίων επικύρωσης ή να γράψετε JavaScript για να αλλάξετε συμπεριφορές φόρμας; Όλα καλά, μπορείτε να χρησιμοποιήσετε τις προεπιλογές του προγράμματος περιήγησης. Δοκιμάστε να υποβάλετε την παρακάτω φόρμα. Ανάλογα με το πρόγραμμα περιήγησης και το λειτουργικό σύστημα που χρησιμοποιείτε, θα δείτε ένα ελαφρώς διαφορετικό στυλ σχολίων.
Ενώ αυτά τα στυλ σχολίων δεν μπορούν να διαμορφωθούν με CSS, μπορείτε ακόμα να προσαρμόσετε το κείμενο σχολίων μέσω JavaScript.
Πλευρά του διακομιστή
Συνιστούμε τη χρήση επικύρωσης από την πλευρά του πελάτη, αλλά σε περίπτωση που χρειάζεστε την πλευρά του διακομιστή, μπορείτε να υποδείξετε μη έγκυρα και έγκυρα πεδία φόρμας με .is-invalidκαι .is-valid. Σημειώστε ότι .invalid-feedbackυποστηρίζεται και με αυτές τις κλάσεις.
Υποστηριζόμενα στοιχεία
Τα παραδείγματά μας εμφανίζουν εγγενή κείμενα <input>παραπάνω, αλλά τα στυλ επικύρωσης φόρμας είναι διαθέσιμα και για τα προσαρμοσμένα στοιχεία ελέγχου φόρμας.
Συμβουλές εργαλείων
Εάν το επιτρέπει η διάταξη της φόρμας σας, μπορείτε να ανταλλάξετε τις .{valid|invalid}-feedbackκλάσεις με .{valid|invalid}-tooltipκλάσεις για να εμφανίσετε σχόλια επικύρωσης σε μια επεξήγηση εργαλείου με στυλ. Βεβαιωθείτε ότι έχετε μαζί του έναν γονέα position: relativeγια την τοποθέτηση της συμβουλής εργαλείου. Στο παρακάτω παράδειγμα, οι τάξεις στηλών μας το έχουν ήδη, αλλά το έργο σας μπορεί να απαιτεί μια εναλλακτική ρύθμιση.
Προσαρμοσμένες φόρμες
Για ακόμη μεγαλύτερη προσαρμογή και συνέπεια μεταξύ των προγραμμάτων περιήγησης, χρησιμοποιήστε τα εντελώς προσαρμοσμένα στοιχεία φόρμας για να αντικαταστήσετε τις προεπιλογές του προγράμματος περιήγησης. Είναι χτισμένα πάνω σε σημασιολογική και προσβάσιμη σήμανση, επομένως αποτελούν σταθερές αντικαταστάσεις για κάθε προεπιλεγμένο έλεγχο φόρμας.
Πλαίσια ελέγχου και ραδιόφωνα
Κάθε πλαίσιο ελέγχου και ραδιόφωνο είναι τυλιγμένα σε ένα <div>με έναν αδελφό <span>για να δημιουργήσουμε το προσαρμοσμένο μας στοιχείο ελέγχου και ένα <label>για το συνοδευτικό κείμενο. Δομικά, αυτή είναι η ίδια προσέγγιση με την προεπιλογή μας .form-check.
Χρησιμοποιούμε τον επιλογέα αδερφού ( ~) για όλες τις <input>καταστάσεις μας—όπως—για :checkedνα διαμορφώσουμε σωστά την προσαρμοσμένη ένδειξη φόρμας. Όταν συνδυάζεται με την .custom-control-labelκλάση, μπορούμε επίσης να διαμορφώσουμε το κείμενο για κάθε στοιχείο με βάση την <input>κατάσταση '.
Κρύβουμε την προεπιλογή <input>με opacityκαι χρησιμοποιούμε το .custom-control-labelγια να δημιουργήσουμε μια νέα προσαρμοσμένη ένδειξη φόρμας στη θέση της με ::beforeκαι ::after. Δυστυχώς δεν μπορούμε να δημιουργήσουμε ένα προσαρμοσμένο μόνο από το <input>γιατί τα CSS contentδεν λειτουργούν σε αυτό το στοιχείο.
Στις επιλεγμένες καταστάσεις, χρησιμοποιούμε ενσωματωμένα εικονίδια SVG base64 από το Open Iconic . Αυτό μας παρέχει τον καλύτερο έλεγχο για το στυλ και την τοποθέτηση σε προγράμματα περιήγησης και συσκευές.
Πλαίσια ελέγχου
Τα προσαρμοσμένα πλαίσια ελέγχου μπορούν επίσης να χρησιμοποιούν την :indeterminateψευδοκλάση όταν ορίζονται χειροκίνητα μέσω JavaScript (δεν υπάρχει διαθέσιμο χαρακτηριστικό HTML για τον καθορισμό του).
Εάν χρησιμοποιείτε jQuery, αρκεί κάτι σαν αυτό:
Ραδιόφωνα
Στη γραμμή
άτομα με ειδικές ανάγκες
Τα προσαρμοσμένα πλαίσια ελέγχου και τα ραδιόφωνα μπορούν επίσης να απενεργοποιηθούν. Προσθέστε το disabledχαρακτηριστικό boolean στο <input>και η προσαρμοσμένη ένδειξη και η περιγραφή της ετικέτας θα διαμορφωθούν αυτόματα.
Επιλογή μενού
Τα προσαρμοσμένα <select>μενού χρειάζονται μόνο μια προσαρμοσμένη κλάση, .custom-selectγια να ενεργοποιήσουν τα προσαρμοσμένα στυλ. Τα προσαρμοσμένα στυλ περιορίζονται στην <select>αρχική εμφάνιση του και δεν μπορούν να τροποποιήσουν τα <option>s λόγω περιορισμών του προγράμματος περιήγησης.
Μπορείτε επίσης να επιλέξετε από μικρές και μεγάλες προσαρμοσμένες επιλογές για να ταιριάζουν με τις εισαγωγές κειμένου παρόμοιου μεγέθους.
Το multipleχαρακτηριστικό υποστηρίζεται επίσης:
Όπως είναι το sizeχαρακτηριστικό:
Εύρος
Δημιουργήστε προσαρμοσμένα <input type="range">στοιχεία ελέγχου με .custom-range. Το κομμάτι (το φόντο) και ο αντίχειρας (η τιμή) έχουν και τα δύο στιλ ώστε να εμφανίζονται το ίδιο στα προγράμματα περιήγησης. Δεδομένου ότι μόνο ο IE και ο Firefox υποστηρίζουν το «γέμισμα» του ίχνους τους από τα αριστερά ή τα δεξιά του αντίχειρα ως μέσο για την οπτική ένδειξη της προόδου, προς το παρόν δεν το υποστηρίζουμε.
Οι είσοδοι εύρους έχουν σιωπηρές τιμές για minκαι max— 0και 100, αντίστοιχα. Μπορείτε να καθορίσετε νέες τιμές για αυτές που χρησιμοποιούν τα χαρακτηριστικά minκαι max.
Από προεπιλογή, οι είσοδοι εύρους "κουμπώνουν" σε ακέραιες τιμές. Για να το αλλάξετε αυτό, μπορείτε να καθορίσετε μια stepτιμή. Στο παρακάτω παράδειγμα, διπλασιάζουμε τον αριθμό των βημάτων χρησιμοποιώντας το step="0.5".
Πρόγραμμα περιήγησης αρχείων
Η είσοδος του αρχείου είναι η πιο αξιοσημείωτη από τη δέσμη και απαιτεί πρόσθετη JavaScript, εάν θέλετε να τα συνδέσετε με τη λειτουργική επιλογή αρχείου… και το επιλεγμένο κείμενο ονόματος αρχείου.
Κρύβουμε το προεπιλεγμένο αρχείο <input>μέσω opacityκαι αντ' αυτού το στυλ <label>. Το κουμπί δημιουργείται και τοποθετείται με ::after. Τέλος, δηλώνουμε ένα widthκαι heightτο <input>για σωστή απόσταση για το περιβάλλον περιεχόμενο.
Μετάφραση ή προσαρμογή των συμβολοσειρών
Η :lang()ψευδοκλάση χρησιμοποιείται για να επιτρέπει τη μετάφραση του κειμένου «Αναζήτηση» σε άλλες γλώσσες. Αντικαταστήστε ή προσθέστε καταχωρήσεις στη $custom-file-textμεταβλητή Sass με τη σχετική ετικέτα γλώσσας και τοπικές συμβολοσειρές. Οι αγγλικές χορδές μπορούν να προσαρμοστούν με τον ίδιο τρόπο. Για παράδειγμα, ορίστε πώς μπορεί κανείς να προσθέσει μια μετάφραση στα Ισπανικά (ο κωδικός γλώσσας στα Ισπανικά είναι es):
Ακολουθεί lang(es)δράση για την εισαγωγή προσαρμοσμένου αρχείου για μετάφραση στα Ισπανικά:
Θα χρειαστεί να ορίσετε σωστά τη γλώσσα του εγγράφου σας (ή του υποδέντρου αυτού) για να εμφανίζεται το σωστό κείμενο. Αυτό μπορεί να γίνει χρησιμοποιώντας το langχαρακτηριστικό στο <html>στοιχείο ή την Content-Languageκεφαλίδα HTTP , μεταξύ άλλων μεθόδων.