ئاساسلىق مەزمۇنغا ئاتلاڭ Docs يول باشلاش
in English

كۇنۇپكىلار

Bootstrap نىڭ ئىختىيارى كۇنۇپكا ئۇسلۇبىنى شەكىل ، دىئالوگ ۋە تېخىمۇ كۆپ چوڭلۇق ، شىتات ۋە باشقىلارنى قوللاپ ھەرىكەت قىلىڭ.

مىساللار

Bootstrap ئالدىن بېكىتىلگەن بىر قانچە كۇنۇپكا ئۇسلۇبىنى ئۆز ئىچىگە ئالىدۇ ، ھەر بىرسى ئۆزىنىڭ مەنىلىك مەقسىتى ئۈچۈن خىزمەت قىلىدۇ ، بىر قانچە قوشۇمچە ماتېرىياللار تېخىمۇ كۆپ كونترول قىلىش ئۈچۈن تاشلىنىدۇ.

<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>
بەزى كۇنۇپكا ئۇسلۇبلىرى نىسبەتەن سۇس ئالدى رەڭنى ئىشلىتىدۇ ، يېتەرلىك سېلىشتۇرما بولۇش ئۈچۈن پەقەت قاراڭغۇ تەگلىكتە ئىشلىتىش كېرەك.

Size

چوڭ ياكى كىچىك كۇنۇپكىلارمۇ؟ قوشۇمچە .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"ئۇلىنىشلارغا خاسلىق كىرگۈزۈپ ، ئۇلارنىڭ كۇنۇپكا تاختىسىنىڭ فوكۇسنى قوبۇل قىلىشىنىڭ ئالدىنى ئالىدۇ ھەمدە خاس JavaScript ئارقىلىق ئۇلارنىڭ ئىقتىدارىنى پۈتۈنلەي چەكلەيدۇ.

<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-gridgap-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>

كۇنۇپكا قىستۇرمىسى

بۇ كۇنۇپكا قىستۇرمىسى ئاددىي قوزغىتىش / تاقاش كۇنۇپكىسىنى قۇرالايسىز.

كۆرۈنۈشتە ، بۇ قوزغىتىش كۇنۇپكىلىرى تەكشۈرۈش رامكىسىنى ئالماشتۇرۇش كۇنۇپكىسى بىلەن ئوخشاش . قانداقلا بولمىسۇن ، ئۇلار ياردەمچى تېخنىكىلار ئارقىلىق باشقىچە يەتكۈزۈلىدۇ: تەكشۈرۈش رامكىسى ئالماشتۇرغۇچ ئېكران ئوقۇرمەنلىرى تەرىپىدىن «تەكشۈرۈلگەن» / «تەكشۈرۈلمىگەن» دەپ ئېلان قىلىنىدۇ (گەرچە ئۇلارنىڭ تاشقى كۆرۈنۈشىگە قارىماي ، ئۇلار يەنىلا تەكشۈرۈش ساندۇقى) ، ئەمما بۇ قوزغىتىش كۇنۇپكىلىرى ئېلان قىلىنىدۇ «كۇنۇپكا» / «كۇنۇپكا بېسىلدى». بۇ ئىككى خىل ئۇسۇلنىڭ تاللىنىشى سىز قۇرغان توكنىڭ تۈرىگە باغلىق ، تەكشۈرۈش ساندۇقى ياكى ئەمەلىي كۇنۇپكا سۈپىتىدە ئېلان قىلىنغاندا ، بۇ قوزغىتىشنىڭ ئابونتلارغا نىسبەتەن ئەھمىيىتى بار-يوقلۇقىغا باغلىق.

Toggle states

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>

Methods

سىز كۇنۇپكا ياسىغۇچى بىلەن بىر كۇنۇپكا مىسالى قۇرالايسىز ، مەسىلەن:

var button = document.getElementById('myButton')
var bsButton = new bootstrap.Button(button)
ئۇسۇل چۈشەندۈرۈش
toggle Toggles ھالەتنى ئىلگىرى سۈرىدۇ. بۇ كۇنۇپكىنى قوزغىتىلغاندەك قىلىدۇ.
dispose ئېلېمېنتنىڭ كۇنۇپكىسىنى بۇزىدۇ. (DOM ئېلېمېنتىدىكى ساقلانغان سانلىق مەلۇماتلارنى ئۆچۈرۈۋېتىدۇ)
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()
})

Sass

ئۆزگەرگۈچى مىقدار

$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%;

Mixins

كۇنۇپكىلارنىڭ ئۈچ خىل ئارىلاشمىسى بار: كۇنۇپكا ۋە كۇنۇپكا سىزىقلىق ۋارىيانت ئارىلاشمىسى (ھەر ئىككىسىنى ئاساس قىلىدۇ $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);
}

Loops

كۇنۇپكىلارنىڭ ۋارىيانتلىرى (دائىملىق ۋە سىزىقلىق كۇنۇپكىلار ئۈچۈن) بىزنىڭ $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);
  }
}