बटणे
एकाधिक आकार, स्थिती आणि अधिकसाठी समर्थनासह फॉर्म, संवाद आणि बरेच काही मधील क्रियांसाठी बूटस्ट्रॅपच्या सानुकूल बटण शैली वापरा.
उदाहरणे
बूटस्ट्रॅपमध्ये अनेक पूर्वनिर्धारित बटण शैली समाविष्ट आहेत, प्रत्येक स्वतःचा अर्थपूर्ण उद्देश पूर्ण करते, अधिक नियंत्रणासाठी काही अतिरिक्त गोष्टी टाकल्या जातात.
<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
बटणावर वर्ग जोडू शकता. $btn-white-space: nowrap
Sass मध्ये, तुम्ही प्रत्येक बटणासाठी मजकूर रॅपिंग अक्षम करण्यासाठी सेट करू शकता .
बटण टॅग
वर्ग घटक .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
वर्ग s ची लिंक कार्यक्षमता अक्षम करण्याचा प्रयत्न करते , pointer-events: none
परंतु <a>
ती CSS गुणधर्म अद्याप प्रमाणित केलेली नाही. याशिवाय, समर्थन करणाऱ्या ब्राउझरमध्येही pointer-events: none
कीबोर्ड नेव्हिगेशन अप्रभावित राहते, याचा अर्थ कीबोर्ड वापरकर्ते आणि सहाय्यक तंत्रज्ञानाचे वापरकर्ते तरीही हे दुवे सक्रिय करण्यात सक्षम असतील. त्यामुळे सुरक्षित राहण्यासाठी, व्यतिरिक्त , त्यांना कीबोर्ड फोकस मिळण्यापासून रोखण्यासाठी या लिंक्सवर aria-disabled="true"
एक विशेषता देखील समाविष्ट करा आणि त्यांची कार्यक्षमता पूर्णपणे अक्षम करण्यासाठी सानुकूल JavaScript वापरा.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 |
घटकाचे बटण नष्ट करते. (DOM घटकावरील संचयित डेटा काढून टाकते) |
getInstance |
स्टॅटिक पद्धत जी तुम्हाला DOM घटकाशी संबंधित बटण उदाहरण मिळविण्यास अनुमती देते, तुम्ही ते याप्रमाणे वापरू शकता:bootstrap.Button.getInstance(element) |
getOrCreateInstance |
स्टॅटिक पद्धत जी डीओएम घटकाशी संबंधित एक बटण उदाहरण देते किंवा ते प्रारंभ केले नसल्यास नवीन तयार करते. आपण ते याप्रमाणे वापरू शकता: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);
}
}