टोस्ट
आपल्या अभ्यागतांना टोस्ट, हलके आणि सहज सानुकूल करण्यायोग्य अलर्ट संदेशासह सूचना पुश करा.
टोस्ट्स या मोबाइल आणि डेस्कटॉप ऑपरेटिंग सिस्टमद्वारे लोकप्रिय झालेल्या पुश नोटिफिकेशन्सची नक्कल करण्यासाठी डिझाइन केलेल्या हलक्या वजनाच्या सूचना आहेत. ते flexbox सह तयार केले आहेत, त्यामुळे ते संरेखित आणि स्थितीत सोपे आहेत.
आढावा
टोस्ट प्लगइन वापरताना जाणून घ्यायच्या गोष्टी:
- कार्यप्रदर्शन कारणांसाठी टोस्ट्स निवडले जातात, म्हणून तुम्ही ते स्वतःच सुरू केले पाहिजेत .
- आपण निर्दिष्ट न केल्यास टोस्ट आपोआप लपतील
autohide: false
.
prefers-reduced-motion
मीडिया क्वेरीवर अवलंबून असतो. आमच्या प्रवेशयोग्यता दस्तऐवजीकरणाचा कमी गती विभाग पहा
.
उदाहरणे
बेसिक
विस्तारण्यायोग्य आण�� अंदाज करण्यायोग्य टोस्टला प्रोत्साहन देण्यासाठी, आम्ही हेडर आणि बॉडीची शिफारस करतो. display: flex
आमच्या मार्जिन आणि फ्लेक्सबॉक्स युटिलिटीजमुळे सामग्रीचे सहज संरेखन करण्यास अनुमती देऊन टोस्ट शीर्षलेख वापरतात .
टोस्ट्स आपल्याला आवश्यक तितके लवचिक आहेत आणि आवश्यक मार्कअप फारच कमी आहेत. कमीतकमी, आम्हाला तुमची "टोस्ट केलेली" सामग्री समाविष्ट करण्यासाठी आणि डिसमिस बटणाला जोरदार प्रोत्साहन देण्यासाठी एक घटक आवश्यक आहे.
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
राहतात
टोस्ट दाखवण्यासाठी खालील बटणावर क्लिक करा (खालील उजव्या कोपर्यात आमच्या उपयुक्ततेसह स्थित) जे डीफॉल्ट द्वारे लपवले गेले आहे .hide
.
<button type="button" class="btn btn-primary" id="liveToastBtn">Show live toast</button>
<div class="position-fixed bottom-0 end-0 p-3" style="z-index: 11">
<div id="liveToast" class="toast hide" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
</div>
अर्धपारदर्शक
टोस्ट त्यांच्या खाली असलेल्या गोष्टींशी मिसळण्यासाठी किंचित अर्धपारदर्शक असतात.
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small class="text-muted">11 mins ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
स्टॅकिंग
तुम्ही टोस्टला टोस्ट कंटेनरमध्ये गुंडाळून स्टॅक करू शकता, जे अनुलंबपणे काही अंतर जोडेल.
<div class="toast-container">
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small class="text-muted">just now</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
See? Just like this.
</div>
</div>
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small class="text-muted">2 seconds ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Heads up, toasts will stack automatically
</div>
</div>
</div>
सानुकूल सामग्री
उप-घटक काढून, युटिलिटीजसह ट्वीक करून किंवा तुमचा स्वतःचा मार्कअप जोडून तुमचे टोस्ट सानुकूल करा. येथे आम्ही डीफॉल्ट काढून टाकून , बूटस्ट्रॅप चिन्हांमधून.toast-header
कस्टम लपवा चिन्ह जोडून आणि लेआउट समायोजित करण्यासाठी काही फ्लेक्सबॉक्स उपयुक्तता वापरून एक सोपा टोस्ट तयार केला आहे.
<div class="toast align-items-center" role="alert" aria-live="assertive" aria-atomic="true">
<div class="d-flex">
<div class="toast-body">
Hello, world! This is a toast message.
</div>
<button type="button" class="btn-close me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
</div>
वैकल्पिकरित्या, तुम्ही टोस्टमध्ये अतिरिक्त नियंत्रणे आणि घटक देखील जोडू शकता.
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-body">
Hello, world! This is a toast message.
<div class="mt-2 pt-2 border-top">
<button type="button" class="btn btn-primary btn-sm">Take action</button>
<button type="button" class="btn btn-secondary btn-sm" data-bs-dismiss="toast">Close</button>
</div>
</div>
</div>
रंग योजना
वरील उदाहरणावर आधारित, तुम्ही आमच्या रंग आणि पार्श्वभूमी उपयुक्ततेसह विविध टोस्ट रंग योजना तयार करू शकता . येथे आम्ही जोडले आहे .bg-primary
आणि , आणि नंतर आमच्या क्लोज बटणावर जोडले आहे. कुरकुरीत काठासाठी, आम्ही सह डीफॉल्ट सीमा काढून टाकतो ..text-white
.toast
.btn-close-white
.border-0
<div class="toast align-items-center text-white bg-primary border-0" role="alert" aria-live="assertive" aria-atomic="true">
<div class="d-flex">
<div class="toast-body">
Hello, world! This is a toast message.
</div>
<button type="button" class="btn-close btn-close-white me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
</div>
प्लेसमेंट
तुम्हाला गरजेनुसार सानुकूल CSS सह टोस्ट ठेवा. वरच्या मध्याप्रमाणेच वरचा उजवा भाग अनेकदा सूचनांसाठी वापरला जातो. जर तुम्ही एका वेळी फक्त एक टोस्ट दाखवणार असाल, तर पोझिशनिंग शैली थेट वर ठेवा .toast
.
<form>
<div class="mb-3">
<label for="selectToastPlacement">Toast placement</label>
<select class="form-select mt-2" id="selectToastPlacement">
<option value="" selected>Select a position...</option>
<option value="top-0 start-0">Top left</option>
<option value="top-0 start-50 translate-middle-x">Top center</option>
<option value="top-0 end-0">Top right</option>
<option value="top-50 start-0 translate-middle-y">Middle left</option>
<option value="top-50 start-50 translate-middle">Middle center</option>
<option value="top-50 end-0 translate-middle-y">Middle right</option>
<option value="bottom-0 start-0">Bottom left</option>
<option value="bottom-0 start-50 translate-middle-x">Bottom center</option>
<option value="bottom-0 end-0">Bottom right</option>
</select>
</div>
</form>
<div aria-live="polite" aria-atomic="true" class="bg-dark position-relative bd-example-toasts">
<div class="toast-container position-absolute p-3" id="toastPlacement">
<div class="toast">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
</div>
</div>
अधिक सूचना व्युत्पन्न करणार्या सिस्टीमसाठी, रॅपिंग घटक वापरण्याचा विचार करा जेणेकरून ते सहजपणे स्टॅक करू शकतील.
<div aria-live="polite" aria-atomic="true" class="position-relative">
<!-- Position it: -->
<!-- - `.toast-container` for spacing between toasts -->
<!-- - `.position-absolute`, `top-0` & `end-0` to position the toasts in the upper right corner -->
<!-- - `.p-3` to prevent the toasts from sticking to the edge of the container -->
<div class="toast-container position-absolute top-0 end-0 p-3">
<!-- Then put toasts within -->
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small class="text-muted">just now</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
See? Just like this.
</div>
</div>
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small class="text-muted">2 seconds ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Heads up, toasts will stack automatically
</div>
</div>
</div>
</div>
टोस्ट्स क्षैतिज आणि/किंवा अनुलंब संरेखित करण्यासाठी तुम्ही फ्लेक्सबॉक्स युटिलिटीजसह फॅन्सी देखील मिळवू शकता.
<!-- Flexbox container for aligning the toasts -->
<div aria-live="polite" aria-atomic="true" class="d-flex justify-content-center align-items-center w-100">
<!-- Then put toasts within -->
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
</div>
प्रवेशयोग्यता
टोस्ट्स हे तुमच्या अभ्यागतांना किंवा वापरकर्त्यांना लहान व्यत्यय आणण्याच्या उद्देशाने आहेत, त्यामुळे स्क्रीन रीडर आणि तत्सम सहाय्यक तंत्रज्ञान असलेल्यांना मदत करण्यासाठी, तुम्ही तुमचे टोस्ट एखाद्या aria-live
प्रदेशात गुंडाळले पाहिजेत . थेट प्रदेशातील बदल (जसे की टोस्ट घटक इंजेक्ट करणे/अपडेट करणे) स्क्रीन रीडरद्वारे वापरकर्त्याचे फोकस हलविण्याची किंवा अन्यथा वापरकर्त्याला व्यत्यय न आणता आपोआप घोषित केले जातात. याव्यतिरिक्त, aria-atomic="true"
संपूर्ण टोस्ट नेहमी एकच (अणु) युनिट म्हणून घोषित केले जाईल याची खात्री करण्यासाठी समाविष्ट करा, फक्त काय बदलले आहे याची घोषणा करण्याऐवजी (जे तुम्ही टोस्टच्या सामग्रीचा फक्त काही भाग अद्यतनित केल्यास किंवा समान टोस्ट सामग्री प्रदर्शित केल्यास समस्या उद्भवू शकतात. नंतरच्या काळात). प्रक्रियेसाठी आवश्यक असलेली माहिती महत्त्वाची असल्यास, उदा. फॉर्ममधील त्रुटींच्या यादीसाठी, नंतर अलर्ट घटक वापरा.टोस्ट ऐवजी.
लक्षात ठेवा की टोस्ट तयार होण्यापूर्वी किंवा अद्यतनित करण्यापूर्वी थेट प्रदेश मार्कअपमध्ये उपस्थित असणे आवश्यक आहे . जर तुम्ही दोन्ही एकाच वेळी डायनॅमिकरित्या व्युत्पन्न केले आणि त्यांना पृष्ठामध्ये इंजेक्ट केले, तर ते सहसा सहाय्यक तंत्रज्ञानाद्वारे घोषित केले जाणार नाहीत.
आपल्याला सामग्रीवर अवलंबून role
आणि स्तर देखील जुळवून घेण्याची आवश्यकता आहे . aria-live
त्रुटीसारखा महत्त्वाचा संदेश असल्यास, वापरा role="alert" aria-live="assertive"
, अन्यथा role="status" aria-live="polite"
विशेषता वापरा.
तुम्ही दाखवत असलेली सामग्री बदलत असताना, delay
टाइमआउट अपडेट करण्याचे सुनिश्चित करा जेणेकरून वापरकर्त्यांना टोस्ट वाचण्यासाठी पुरेसा वेळ मिळेल.
<div class="toast" role="alert" aria-live="polite" aria-atomic="true" data-bs-delay="10000">
<div role="alert" aria-live="assertive" aria-atomic="true">...</div>
</div>
वापरताना autohide: false
, वापरकर्त्यांना टोस्ट डिसमिस करण्याची परवानगी देण्यासाठी तुम्ही क्लोज बटण जोडणे आवश्यक आहे.
<div role="alert" aria-live="assertive" aria-atomic="true" class="toast" data-bs-autohide="false">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
तांत्रिकदृष्ट्या तुमच्या टोस्टमध्ये फोकस करण्यायोग्य/क्रिया करण्यायोग्य नियंत्रणे (जसे की अतिरिक्त बटणे किंवा लिंक्स) जोडणे शक्य आहे, तरीही तुम्ही टोस्ट ऑटोहाइडिंगसाठी असे करणे टाळावे. जरी तुम्ही टोस्टला बराच delay
वेळ दिला तरीही , कीबोर्ड आणि सहाय्यक तंत्रज्ञान वापरकर्त्यांना कारवाई करण्यासाठी टोस्टपर्यंत वेळेत पोहोचणे कठीण होऊ शकते (कारण टोस्ट प्रदर्शित झाल्यावर फोकस प्राप्त करत नाहीत). तुमच्याकडे आणखी नियंत्रणे असणे आवश्यक असल्यास, आम्ही सह टोस्ट वापरण्याची शिफारस करतो autohide: false
.
सस
चल
$toast-max-width: 350px;
$toast-padding-x: .75rem;
$toast-padding-y: .5rem;
$toast-font-size: .875rem;
$toast-color: null;
$toast-background-color: rgba($white, .85);
$toast-border-width: 1px;
$toast-border-color: rgba(0, 0, 0, .1);
$toast-border-radius: $border-radius;
$toast-box-shadow: $box-shadow;
$toast-spacing: $container-padding-x;
$toast-header-color: $gray-600;
$toast-header-background-color: rgba($white, .85);
$toast-header-border-color: rgba(0, 0, 0, .05);
वापर
JavaScript द्वारे टोस्ट सुरू करा:
var toastElList = [].slice.call(document.querySelectorAll('.toast'))
var toastList = toastElList.map(function (toastEl) {
return new bootstrap.Toast(toastEl, option)
})
पर्याय
डेटा विशेषता किंवा JavaScript द्वारे पर्याय पास केले जाऊ शकतात. डेटा विशेषतांसाठी, पर्यायाचे नाव , मध्ये data-bs-
प्रमाणे जोडा data-bs-animation=""
.
नाव | प्रकार | डीफॉल्ट | वर्णन |
---|---|---|---|
animation |
बुलियन | true |
टोस्टवर CSS फेड ट्रान्झिशन लागू करा |
autohide |
बुलियन | true |
स्वयं टोस्ट लपवा |
delay |
संख्या | 5000 |
टोस्ट लपविण्यास विलंब करा (ms) |
पद्धती
असिंक्रोनस पद्धती आणि संक्रमणे
सर्व API पद्धती असिंक्रोनस आहेत आणि एक संक्रमण सुरू करतात . संक्रमण सुरू होताच परंतु ते संपण्यापूर्वी ते कॉलरकडे परत जातात . याव्यतिरिक्त, संक्रमण घटकावरील पद्धत कॉलकडे दुर्लक्ष केले जाईल .
दाखवा
घटकाचे टोस्ट प्रकट करते. टोस्ट प्रत्यक्षात दाखवण्यापूर्वी कॉलरकडे परत येतो (म्हणजे shown.bs.toast
इव्हेंट होण्यापूर्वी). तुम्हाला ही पद्धत मॅन्युअली कॉल करावी लागेल, त्याऐवजी तुमचा टोस्ट दिसणार नाही.
toast.show()
लपवा
घटकाचा टोस्ट लपवतो. टोस्ट प्रत्यक्षात लपविण्याआधी कॉलरकडे परत येतो (म्हणजे hidden.bs.toast
घटना घडण्यापूर्वी). जर तुम्ही केले असेल तर तुम्हाला ही पद्धत व्यक्तिचलितपणे कॉल करावी autohide
लागेल false
.
toast.hide()
विल्हेवाट लावणे
घटकाचा टोस्ट लपवतो. तुमचा टोस्ट DOM वर राहील पण यापुढे दिसणार नाही.
toast.dispose()
getInstance
स्टॅटिक पद्धत जी तुम्हाला डीओएम घटकाशी संबंधित स्क्रोलस्पाय उदाहरण मिळवू देते
var myToastEl = document.getElementById('myToastEl')
var myToast = bootstrap.Toast.getInstance(myToastEl) // Returns a Bootstrap toast instance
getOrCreateInstance
स्टॅटिक पद्धत जी तुम्हाला डीओएम घटकाशी संबंधित स्क्रोलस्पाय उदाहरण मिळवू देते किंवा ते सुरू न झाल्यास नवीन तयार करू देते.
var myToastEl = document.getElementById('myToastEl')
var myToast = bootstrap.Toast.getOrCreateInstance(myToastEl) // Returns a Bootstrap toast instance
कार्यक्रम
कार्यक्रमाचा प्रकार | वर्णन |
---|---|
show.bs.toast |
show जेव्हा उदाहरण पद्धत कॉल केली जाते तेव्हा हा इव्हेंट लगेच फायर होतो . |
shown.bs.toast |
जेव्हा टोस्ट वापरकर्त्यासाठी दृश्यमान केला जातो तेव्हा हा कार्यक्रम काढला जातो. |
hide.bs.toast |
hide जेव्हा उदाहरण पद्धत कॉल केली जाते तेव्हा हा इव्हेंट लगेच काढला जातो . |
hidden.bs.toast |
टोस्ट वापरकर्त्यापासून लपवून ठेवणे पूर्ण झाल्यावर हा कार्यक्रम काढला जातो. |
var myToastEl = document.getElementById('myToast')
myToastEl.addEventListener('hidden.bs.toast', function () {
// do something...
})