بٽڻ
بوٽ اسٽريپ جي حسب ضرورت بٽڻ واري اسلوب کي استعمال ڪريو عملن لاءِ فارمز، ڊائلاگس، ۽ وڌيڪ ۾ گھڻن سائزن، رياستن ۽ وڌيڪ لاءِ سپورٽ سان.
مثال
بوٽ اسٽريپ ۾ ڪيترائي اڳواٽ بيان ڪيل بٽڻ اسلوب شامل آھن، ھر ھڪ پنھنجي پنھنجي مقصد جي خدمت ڪري ٿو، ڪجھ اضافي اضافي سان گڏ وڌيڪ ڪنٽرول لاءِ.
<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
هر بٽڻ لاء ٽيڪسٽ ريپنگ کي بند ڪرڻ لاء سيٽ ڪري سگهو ٿا.
بٽڻ ٽيگ
.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
لنگر بٽڻ تي سڀني کي غير فعال ڪرڻ لاء ڪجهه مستقبل جي دوستانه انداز شامل آهن .- غير فعال ٿيل بٽڻن کي استعمال
<a>
ڪرڻ ۾ شامل ٿيڻ گھرجي خصوصيتaria-disabled="true"
کي اشارو ڪرڻ لاءِ عنصر جي حالت کي مددگار ٽيڪنالاجيون. - استعمال ڪرڻ بند ٿيل بٽڻن ۾ خاصيت شامل
<a>
نه ٿيڻ گھرجي .href
<a class="btn btn-primary btn-lg disabled" role="button" aria-disabled="true">Primary link</a>
<a class="btn btn-secondary btn-lg disabled" role="button" aria-disabled="true">Link</a>
ڳنڍڻ جي ڪارڪردگي جي خبرداري
ڪيسن کي ڍڪڻ لاءِ جتي توهان کي وصف رکڻو آهي href
معذور لنڪ تي، .disabled
ڪلاس استعمال ڪري ٿو s pointer-events: none
جي لنڪ ڪارڪردگي کي غير فعال ڪرڻ جي ڪوشش ڪرڻ لاءِ . <a>
ياد رهي ته هي CSS ملڪيت اڃا تائين HTML لاءِ معياري نه آهي، پر سڀ جديد برائوزر ان جي حمايت ڪن ٿا. ان کان علاوه، انهن برائوزرن ۾ به جيڪي سپورٽ ڪندا آهن pointer-events: none
، ڪيبورڊ نيويگيشن متاثر نه ٿيندي آهي، مطلب ته ڪي بورڊ جي ڏسندڙ صارف ۽ مددگار ٽيڪنالاجي جا استعمال ڪندڙ اڃا به انهن لنڪ کي چالو ڪري سگهندا. تنهن ڪري محفوظ رهڻ لاءِ، ان کان علاوه aria-disabled="true"
، انهن لنڪن تي هڪ خاصيت به شامل tabindex="-1"
ڪريو ته جيئن انهن کي ڪيبورڊ فوڪس حاصل ڪرڻ کان روڪيو وڃي، ۽ انهن جي ڪارڪردگي کي مڪمل طور تي بند ڪرڻ لاءِ ڪسٽم جاوا اسڪرپٽ استعمال ڪريو.
<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>
بلاڪ بٽڻ
مڪمل چوٽيءَ جا جوابي اسٽيڪ ٺاهيو، ”بلاڪ بٽڻ“ جھڙوڪ Bootstrap 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 class="btn btn-primary disabled" 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 |
جامد طريقو جيڪو توهان کي حاصل ڪرڻ جي اجازت ڏئي ٿو بٽڻ جو مثال هڪ DOM عنصر سان لاڳاپيل آهي، توهان ان کي هن طرح استعمال ڪري سگهو ٿا: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);
}
}