बटन
कई आकारों, स्थितियों, और बहुत कुछ के समर्थन के साथ प्रपत्रों, संवादों, और बहुत कुछ में क्रियाओं के लिए बूटस्ट्रैप की कस्टम बटन शैलियों का उपयोग करें।
उदाहरण
बूटस्ट्रैप में कई पूर्वनिर्धारित बटन शैलियाँ शामिल हैं, जिनमें से प्रत्येक अपने स्वयं के अर्थपूर्ण उद्देश्य की पूर्ति करती है, जिसमें कुछ अतिरिक्त नियंत्रण के लिए फेंके गए हैं।
<button type="button" class="btn btn-primary">Primary</button>
<button type="button" class="btn btn-secondary">Secondary</button>
<button type="button" class="btn btn-success">Success</button>
<button type="button" class="btn btn-danger">Danger</button>
<button type="button" class="btn btn-warning">Warning</button>
<button type="button" class="btn btn-info">Info</button>
<button type="button" class="btn btn-light">Light</button>
<button type="button" class="btn btn-dark">Dark</button>
<button type="button" class="btn btn-link">Link</button>
सहायक तकनीकों को अर्थ देना
अर्थ जोड़ने के लिए रंग का उपयोग केवल एक दृश्य संकेत प्रदान करता है, जो सहायक तकनीकों के उपयोगकर्ताओं को नहीं बताया जाएगा - जैसे स्क्रीन रीडर। सुनिश्चित करें कि रंग द्वारा दर्शाई गई जानकारी या तो सामग्री से स्पष्ट है (उदाहरण के लिए दृश्यमान पाठ), या वैकल्पिक माध्यमों से शामिल है, जैसे कि .visually-hidden
कक्षा के साथ छिपा हुआ अतिरिक्त पाठ।
टेक्स्ट रैपिंग अक्षम करें
यदि आप बटन टेक्स्ट को लपेटना न��ीं चाहते हैं, तो आप .text-nowrap
क्लास को बटन में जोड़ सकते हैं। Sass में, आप $btn-white-space: nowrap
प्रत्येक बटन के लिए टेक्स्ट रैपिंग को अक्षम करने के लिए सेट कर सकते हैं।
बटन टैग
.btn
कक्षाओं को <button>
तत्व के साथ उपयोग करने के लिए डिज़ाइन किया गया है। हालाँकि, आप इन कक्षाओं का उपयोग <a>
या <input>
तत्वों पर भी कर सकते हैं (हालाँकि कुछ ब्राउज़र थोड़ा अलग प्रतिपादन लागू कर सकते हैं)।
<a>
वर्तमान पृष्ठ के भीतर नए पृष्ठों या अनुभागों से लिंक करने के बजाय, इन-पेज कार्यक्षमता (जैसे संक्षिप्त सामग्री) को ट्रिगर करने के लिए उपयोग किए जाने वाले तत्वों पर बटन वर्गों का उपयोग करते समय, इन लिंक्स को role="button"
उनके उद्देश्य को उचित रूप से सहायक तकनीकों जैसे कि स्क्रीन पाठक।
<a class="btn btn-primary" href="#" role="button">Link</a>
<button class="btn btn-primary" type="submit">Button</button>
<input class="btn btn-primary" type="button" value="Input">
<input class="btn btn-primary" type="submit" value="Submit">
<input class="btn btn-primary" type="reset" value="Reset">
आउटलाइन बटन
एक बटन की जरूरत है, लेकिन वे भारी पृष्ठभूमि रंग नहीं लाते हैं? .btn-outline-*
किसी भी बटन पर सभी पृष्ठभूमि छवियों और रंगों को हटाने के लिए डिफ़ॉल्ट संशोधक वर्गों को बदलें ।
<button type="button" class="btn btn-outline-primary">Primary</button>
<button type="button" class="btn btn-outline-secondary">Secondary</button>
<button type="button" class="btn btn-outline-success">Success</button>
<button type="button" class="btn btn-outline-danger">Danger</button>
<button type="button" class="btn btn-outline-warning">Warning</button>
<button type="button" class="btn btn-outline-info">Info</button>
<button type="button" class="btn btn-outline-light">Light</button>
<button type="button" class="btn btn-outline-dark">Dark</button>
आकार
फैंसी बड़े या छोटे बटन? जोड़ें .btn-lg
या .btn-sm
अतिरिक्त आकार के लिए।
<button type="button" class="btn btn-primary btn-lg">Large button</button>
<button type="button" class="btn btn-secondary btn-lg">Large button</button>
<button type="button" class="btn btn-primary btn-sm">Small button</button>
<button type="button" class="btn btn-secondary btn-sm">Small button</button>
अक्षम राज्य
किसी भी तत्व में disabled
बूलियन विशेषता जोड़कर बटनों को निष्क्रिय बनाएं । <button>
अक्षम बटनों ने pointer-events: none
होवर और सक्रिय अवस्थाओं को ट्रिगर होने से रोकने के लिए लागू किया है।
<button type="button" class="btn btn-lg btn-primary" disabled>Primary button</button>
<button type="button" class="btn btn-secondary btn-lg" disabled>Button</button>
तत्व का उपयोग करने वाले अक्षम बटन <a>
थोड़ा अलग व्यवहार करते हैं:
<a>
s विशेषता का समर्थन नहीं करते हैंdisabled
, इसलिए आपको.disabled
कक्षा को नेत्रहीन रूप से अक्षम दिखाने के लिए जोड़ना होगा।- कुछ भविष्य के अनुकूल शैलियों को
pointer-events
एंकर बटन पर सभी को अक्षम करने के लिए शामिल किया गया है। - अक्षम बटनों में
aria-disabled="true"
सहायक तकनीकों के लिए तत्व की स्थिति को इंगित करने के लिए विशेषता शामिल होनी चाहिए।
<a href="#" class="btn btn-primary btn-lg disabled" tabindex="-1" role="button" aria-disabled="true">Primary link</a>
<a href="#" class="btn btn-secondary btn-lg disabled" tabindex="-1" role="button" aria-disabled="true">Link</a>
लिंक कार्यक्षमता चेतावनी
.disabled
वर्ग एस की लिंक कार्यक्षमता को अक्षम करने का प्रयास करने के लिए उपयोग करता है pointer-events: none
, <a>
लेकिन वह सीएसएस संपत्ति अभी तक मानकीकृत नहीं है। इसके अलावा, यहां तक कि समर्थन करने वाले ब्राउज़र में भी pointer-events: none
, कीबोर्ड नेविगेशन अप्रभावित रहता है, जिसका अर्थ है कि देखे गए कीबोर्ड उपयोगकर्ता और सहायक तकनीकों के उपयोगकर्ता अभी भी इन लिंक को सक्रिय करने में सक्षम होंगे। इसलिए सुरक्षित रहने के लिए , इन लिंक पर aria-disabled="true"
एक विशेषता भी शामिल करें ताकि उन्हें कीबोर्ड फ़ोकस प्राप्त करने से रोका जा सके, और उनकी कार्यक्षमता को पूरी तरह से अक्षम करने के लिए कस्टम जावास्क्रिप्ट का उपयोग करें।tabindex="-1"
ब्लॉक बटन
हमारे डिस्प्ले और गैप यूटिलिटीज के मिश्रण के साथ बूटस्ट्रैप 4 की तरह पूर्ण-चौड़ाई, "ब्लॉक बटन" के रिस्पॉन्सिव स्टैक बनाएं। बटन विशिष्ट वर्गों के बजाय उपयोगिताओं का उपयोग करके, हम रिक्ति, संरेखण और प्रतिक्रियाशील व्यवहारों पर बहुत अधिक नियंत्रण रखते हैं।
<div class="d-grid gap-2">
<button class="btn btn-primary" type="button">Button</button>
<button class="btn btn-primary" type="button">Button</button>
</div>
md
यहां हम ब्रेकपॉइंट तक लंबवत स्टैक्ड बटन से शुरू होने वाले उत्तरदायी भिन्नता बनाते हैं , जहां कक्षा .d-md-block
को प्रतिस्थापित किया जाता है , इस प्रकार उपयोगिता को रद्द कर दिया जाता है। उन्हें बदलते देखने के लिए अपने ब्राउज़र का आकार बदलें।.d-grid
gap-2
<div class="d-grid gap-2 d-md-block">
<button class="btn btn-primary" type="button">Button</button>
<button class="btn btn-primary" type="button">Button</button>
</div>
आप ग्रिड कॉलम चौड़ाई वर्गों के साथ अपने ब्लॉक बटन की चौड़ाई समायोजित कर सकते हैं। उदाहरण के लिए, आधी-चौड़ाई वाले "ब्लॉक बटन" के लिए, .col-6
. इसे क्षैतिज रूप से .mx-auto
भी केन्द्रित करें।
<div class="d-grid gap-2 col-6 mx-auto">
<button class="btn btn-primary" type="button">Button</button>
<button class="btn btn-primary" type="button">Button</button>
</div>
क्षैतिज होने पर बटनों के संरेखण को समायोजित करने के लिए अतिरिक्त उपयोगिताओं का उपयोग किया जा सकता है। यहां हमने अपना पिछला रेस्पॉन्सिव उदाहरण लिया है और बटन पर कुछ फ्लेक्स यूटिलिटीज और एक मार्जिन यूटिलिटी को जोड़ा है ताकि बटनों को सही तरीके से संरेखित किया जा सके जब वे अब स्टैक्ड न हों।
<div class="d-grid gap-2 d-md-flex justify-content-md-end">
<button class="btn btn-primary me-md-2" type="button">Button</button>
<button class="btn btn-primary" type="button">Button</button>
</div>
बटन प्लगइन
बटन प्लगइन आपको सरल चालू/बंद टॉगल बटन बनाने की अनुमति देता है।
राज्य टॉगल करें
data-bs-toggle="button"
एक बटन की active
स्थिति को टॉगल करने के लिए जोड़ें । यदि आप बटन को प्री-टॉगल कर रहे हैं, तो आपको मैन्युअल रूप से .active
कक्षा को जोड़ना होगा और aria-pressed="true"
यह सुनिश्चित करना होगा कि यह सहायक तकनीकों को उचित रूप से अवगत कराया गया है।
<button type="button" class="btn btn-primary" data-bs-toggle="button" autocomplete="off">Toggle button</button>
<button type="button" class="btn btn-primary active" data-bs-toggle="button" autocomplete="off" aria-pressed="true">Active toggle button</button>
<button type="button" class="btn btn-primary" disabled data-bs-toggle="button" autocomplete="off">Disabled toggle button</button>
<a href="#" class="btn btn-primary" role="button" data-bs-toggle="button">Toggle link</a>
<a href="#" class="btn btn-primary active" role="button" data-bs-toggle="button" aria-pressed="true">Active toggle link</a>
<a href="#" class="btn btn-primary disabled" tabindex="-1" aria-disabled="true" role="button" data-bs-toggle="button">Disabled toggle link</a>
तरीकों
आप बटन कंस्ट्रक्टर के साथ एक बटन इंस्टेंस बना सकते हैं, उदाहरण के लिए:
var button = document.getElementById('myButton')
var bsButton = new bootstrap.Button(button)
तरीका | विवरण |
---|---|
toggle |
पुश स्थिति को टॉगल करता है। बटन को यह आभास देता है कि वह सक्रिय हो गया है। |
dispose |
एक तत्व के बटन को नष्ट कर देता है। (डीओएम तत्व पर संग्रहीत डेटा हटा देता है) |
getInstance |
स्टेटिक विधि जो आपको डीओएम तत्व से जुड़े बटन इंस्टेंस को प्राप्त करने की अनुमति देती है, आप इसे इस तरह उपयोग कर सकते हैं:bootstrap.Button.getInstance(element) |
getOrCreateInstance |
स्टेटिक विधि जो किसी DOM तत्व से जुड़े बटन इंस्टेंस को लौटाती है या यदि इसे प्रारंभ नहीं किया गया था तो एक नया बनाएं। आप इसे इस तरह इस्तेमाल कर सकते हैं:bootstrap.Button.getOrCreateInstance(element) |
उदाहरण के लिए, सभी बटनों को टॉगल करने के लिए
var buttons = document.querySelectorAll('.btn')
buttons.forEach(function (button) {
var button = new bootstrap.Button(button)
button.toggle()
})
सास
चर
$btn-padding-y: $input-btn-padding-y;
$btn-padding-x: $input-btn-padding-x;
$btn-font-family: $input-btn-font-family;
$btn-font-size: $input-btn-font-size;
$btn-line-height: $input-btn-line-height;
$btn-white-space: null; // Set to `nowrap` to prevent text wrapping
$btn-padding-y-sm: $input-btn-padding-y-sm;
$btn-padding-x-sm: $input-btn-padding-x-sm;
$btn-font-size-sm: $input-btn-font-size-sm;
$btn-padding-y-lg: $input-btn-padding-y-lg;
$btn-padding-x-lg: $input-btn-padding-x-lg;
$btn-font-size-lg: $input-btn-font-size-lg;
$btn-border-width: $input-btn-border-width;
$btn-font-weight: $font-weight-normal;
$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075);
$btn-focus-width: $input-btn-focus-width;
$btn-focus-box-shadow: $input-btn-focus-box-shadow;
$btn-disabled-opacity: .65;
$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125);
$btn-link-color: $link-color;
$btn-link-hover-color: $link-hover-color;
$btn-link-disabled-color: $gray-600;
// Allows for customizing button radius independently from global border radius
$btn-border-radius: $border-radius;
$btn-border-radius-sm: $border-radius-sm;
$btn-border-radius-lg: $border-radius-lg;
$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
$btn-hover-bg-shade-amount: 15%;
$btn-hover-bg-tint-amount: 15%;
$btn-hover-border-shade-amount: 20%;
$btn-hover-border-tint-amount: 10%;
$btn-active-bg-shade-amount: 20%;
$btn-active-bg-tint-amount: 20%;
$btn-active-border-shade-amount: 25%;
$btn-active-border-tint-amount: 10%;
मिक्सिन्स
बटन के लिए तीन मिक्सिन हैं: बटन और बटन आउटलाइन वेरिएंट मिक्सिन (दोनों पर आधारित $theme-colors
), साथ ही एक बटन साइज मिक्सिन।
@mixin button-variant(
$background,
$border,
$color: color-contrast($background),
$hover-background: if($color == $color-contrast-light, shade-color($background, $btn-hover-bg-shade-amount), tint-color($background, $btn-hover-bg-tint-amount)),
$hover-border: if($color == $color-contrast-light, shade-color($border, $btn-hover-border-shade-amount), tint-color($border, $btn-hover-border-tint-amount)),
$hover-color: color-contrast($hover-background),
$active-background: if($color == $color-contrast-light, shade-color($background, $btn-active-bg-shade-amount), tint-color($background, $btn-active-bg-tint-amount)),
$active-border: if($color == $color-contrast-light, shade-color($border, $btn-active-border-shade-amount), tint-color($border, $btn-active-border-tint-amount)),
$active-color: color-contrast($active-background),
$disabled-background: $background,
$disabled-border: $border,
$disabled-color: color-contrast($disabled-background)
) {
color: $color;
@include gradient-bg($background);
border-color: $border;
@include box-shadow($btn-box-shadow);
&:hover {
color: $hover-color;
@include gradient-bg($hover-background);
border-color: $hover-border;
}
.btn-check:focus + &,
&:focus {
color: $hover-color;
@include gradient-bg($hover-background);
border-color: $hover-border;
@if $enable-shadows {
@include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));
} @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);
}
}
.btn-check:checked + &,
.btn-check:active + &,
&:active,
&.active,
.show > &.dropdown-toggle {
color: $active-color;
background-color: $active-background;
// Remove CSS gradients if they're enabled
background-image: if($enable-gradients, none, null);
border-color: $active-border;
&:focus {
@if $enable-shadows {
@include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));
} @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);
}
}
}
&:disabled,
&.disabled {
color: $disabled-color;
background-color: $disabled-background;
// Remove CSS gradients if they're enabled
background-image: if($enable-gradients, none, null);
border-color: $disabled-border;
}
}
@mixin button-outline-variant(
$color,
$color-hover: color-contrast($color),
$active-background: $color,
$active-border: $color,
$active-color: color-contrast($active-background)
) {
color: $color;
border-color: $color;
&:hover {
color: $color-hover;
background-color: $active-background;
border-color: $active-border;
}
.btn-check:focus + &,
&:focus {
box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
}
.btn-check:checked + &,
.btn-check:active + &,
&:active,
&.active,
&.dropdown-toggle.show {
color: $active-color;
background-color: $active-background;
border-color: $active-border;
&:focus {
@if $enable-shadows {
@include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));
} @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
}
}
}
&:disabled,
&.disabled {
color: $color;
background-color: transparent;
}
}
@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {
padding: $padding-y $padding-x;
@include font-size($font-size);
// Manually declare to provide an override to the browser default
@include border-radius($border-radius, 0);
}
छोरों
बटन वेरिएंट (नियमित और आउटलाइन बटन के लिए) $theme-colors
संशोधक वर्ग उत्पन्न करने के लिए हमारे मानचित्र के साथ अपने संबंधित मिश्रण का उपयोग करते हैं scss/_buttons.scss
।
@each $color, $value in $theme-colors {
.btn-#{$color} {
@include button-variant($value, $value);
}
}
@each $color, $value in $theme-colors {
.btn-outline-#{$color} {
@include button-outline-variant($value);
}
}