مکيه مواد ڏانهن وڃو Docs نيويگيشن ڏانھن وڃو
in English

بٽڻ

بوٽ اسٽريپ جي حسب ضرورت بٽڻ واري اسلوب کي استعمال ڪريو عملن لاءِ فارمز، ڊائلاگس، ۽ وڌيڪ ۾ گھڻن سائزن، رياستن ۽ وڌيڪ لاءِ سپورٽ سان.

مثال

بوٽ اسٽريپ ۾ ڪيترائي اڳواٽ بيان ڪيل بٽڻ اسلوب شامل آھن، ھر ھڪ پنھنجي پنھنجي مقصد جي خدمت ڪري ٿو، ڪجھ اضافي اضافي سان گڏ وڌيڪ ڪنٽرول لاءِ.

<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لنگر بٽڻ تي سڀني کي غير فعال ڪرڻ لاء ڪجهه مستقبل جي دوستانه انداز شامل آهن .
  • معذور بٽڻن ۾ شامل ٿيڻ گھرجي خصوصيت 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"، انهن لنڪن تي هڪ خاصيت به شامل tabindex="-1"ڪريو ته جيئن انهن کي ڪيبورڊ فوڪس حاصل ڪرڻ کان روڪيو وڃي، ۽ انهن جي ڪارڪردگي کي مڪمل طور تي بند ڪرڻ لاءِ ڪسٽم جاوا اسڪرپٽ استعمال ڪريو.

بلاڪ بٽڻ

مڪمل چوٽيءَ جا جوابي اسٽيڪ ٺاهيو، ”بلاڪ بٽڻ“ جھڙوڪ 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 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 جامد طريقو جيڪو توهان کي حاصل ڪرڻ جي اجازت ڏئي ٿو بٽڻ جو مثال هڪ 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);
  }
}