Laktawan ti kangrunaan a linaon Laktawan ti docs navigation
Check
in English

Dagiti Buton

Usaren dagiti kostumbre nga estilo ti buton ti Bootstrap para kadagiti tignay kadagiti porma, dialogo, ken dadduma pay nga addaan iti suporta para kadagiti adu a kadakkel, estado, ken dadduma pay.

Dagiti pagarigan

Ti Bootstrap ket mangiraman kadagiti sumagmamano a nasakbay a naikeddeng nga estilo ti buton, tunggal maysa ket agserbi ti bukodna a semantiko a panggep, nga addaan kadagiti sumagmamano nga ekstra a naipuruak para iti ad-adu a panagtengngel.

html nga
<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>
Panangipaay ti kaipapanan kadagiti makatulong a teknolohia

Ti panagusar ti kolor tapno mangnayon ti kaipapanan ket mangipaay laeng ti makita a pakakitaan, a saan a maidanon kadagiti agar-aramat kadagiti makatulong a teknolohia – kas dagiti screen reader. Siguraduen a ti impormasion a naipasimudaag babaen ti kolor ket nalawag manipud iti linaon a mismo (kas pagarigan ti makita a teksto), wenno mairaman babaen dagiti alternatibo a wagas, a kas ti kanayonan a teksto a nailemmeng a kadua ti .visually-hiddenklase.

Isardeng ti panagbalkot ti teksto

No dimo kayat a mabalkot ti teksto ti buton, mabalinmo nga inayon ti .text-nowrapklase iti buton. Iti Sass, mabalinmo nga ikeddeng $btn-white-space: nowrapa mangbaldado ti panagbalkot ti teksto para iti tunggal maysa a buton.

Dagiti etiketa ti buton

Nadisenio dagiti .btnklase a mausar a kadua ti <button>elemento. Nupay kasta, mabalinmo pay nga usaren dagitoy a klase iti <a>wenno <input>dagiti elemento (nupay dagiti dadduma a browser ket mabalinda nga iyaplikar ti naiduma bassit a panagiparang).

No agus-usar kadagiti klase ti buton kadagiti <a>elemento a maus-usar a mangtignay ti panagusar iti uneg ti panid (kas ti agruprupsa a linaon), imbes a mangisilpo kadagiti baro a panid wenno dagiti benneg iti uneg ti agdama a panid, dagitoy a silpo ket rumbeng a maited ti a role="button"tapno maitutop a mangidanon ti panggepda kadagiti makatulong a teknolohia a kas ti dagiti agbasbasa iti iskrin.

Inaig
html nga
<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">

Dagiti buton ti balabala

Kasapulan ti maysa a buton, ngem saan a dagiti nadagsen a kolor ti likudan nga iyegda? Sukatan dagiti default a klase ti mangbalbaliw kadagiti .btn-outline-*mangikkat kadagiti amin a ladawan ti likudan ken dagiti kolor iti ania man a buton.

html nga
<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>
Dadduma kadagiti estilo ti buton ket agus-usar ti relatibo a nalawag a kolor ti sango, ken rumbeng laeng a mausar iti nasipnget a likudan tapno addaan iti umdas a panagdumaduma.

Dagiti Kadakkel

Magarbo a dakdakkel wenno basbassit a butones? Inayon .btn-lgwenno .btn-smpara kadagiti kanayonan a kadakkel.

html nga
<button type="button" class="btn btn-primary btn-lg">Large button</button>
<button type="button" class="btn btn-secondary btn-lg">Large button</button>
html nga
<button type="button" class="btn btn-primary btn-sm">Small button</button>
<button type="button" class="btn btn-secondary btn-sm">Small button</button>

Mabalinmo pay ketdi nga i-roll ti bukodmo a kostumbre a panagdakkel babaen dagiti CSS a variable:

html nga
<button type="button" class="btn btn-primary"
        style="--bs-btn-padding-y: .25rem; --bs-btn-padding-x: .5rem; --bs-btn-font-size: .75rem;">
  Custom button
</button>

Kasasaad ti baldado

Pagbalinen dagiti buton a kasla saan nga aktibo babaen ti pananginayon ti disabledboolean a kababalin iti ania man <button>nga elemento. Dagiti baldado a buton ket pointer-events: nonenagaplikarda iti, a manglapped ti panag-hover ken dagiti aktibo nga estado manipud iti panagtignay.

html nga
<button type="button" class="btn btn-primary" disabled>Primary button</button>
<button type="button" class="btn btn-secondary" disabled>Button</button>
<button type="button" class="btn btn-outline-primary" disabled>Primary button</button>
<button type="button" class="btn btn-outline-secondary" disabled>Button</button>

Dagiti baldado a buton nga agus-usar ti <a>elemento ket agtigtignay a naiduma bassit:

  • <a>s dida suportaran ti disabledattribute, isu a masapul nga inayonmo ti .disabledklase tapno agparang a biswal a baldado.
  • Dadduma nga estilo a makaay-ayo iti masakbayan ti nairaman tapno mapasardeng amin pointer-eventskadagiti buton ti angkla.
  • Dagiti baldado a buton nga agus-usar <a>ket rumbeng a mangiraman ti aria-disabled="true"attribute tapno mangipakita ti kasasaad ti elemento kadagiti makatulong a teknolohia.
  • Dagiti baldado a buton nga agus-usar <a> ket saan koma a mangiraman ti hrefattribute.
html nga
<a class="btn btn-primary disabled" role="button" aria-disabled="true">Primary link</a>
<a class="btn btn-secondary disabled" role="button" aria-disabled="true">Link</a>

Tapno masakupan dagiti kaso a masapul a pagtalinaedem ti hrefattribute iti maysa a baldado a silpo, ti .disabledklase ket agus-usar pointer-events: nonea mangpadas a mangbaldado ti panagandar ti silpo ti <a>s. Imutektekanyo a daytoy a tagikua ti CSS ket saan pay a naistandard para iti HTML, ngem amin dagiti moderno a browser ket mangsuporta iti daytoy. Mainayon pay, uray kadagiti browser a mangsuporta pointer-events: none, agtalinaed a saan a maapektaran ti panaglayag iti teklado, kayatna a sawen a dagiti makakita nga agus-usar iti teklado ken dagiti agus-usar kadagiti makatulong a teknolohia ket mabalinda latta nga aktiboen dagitoy a silpo. Isu a tapno natalged, malaksid iti aria-disabled="true", iraman pay ti maysa nga tabindex="-1"attribute kadagitoy a silpo tapno malapdan ida nga umawat iti pokus ti teklado, ken agusar iti kostumbre a JavaScript tapno interamente a mangbaldado iti panagandar dagitoy.

html nga
<a href="#" class="btn btn-primary disabled" tabindex="-1" role="button" aria-disabled="true">Primary link</a>
<a href="#" class="btn btn-secondary disabled" tabindex="-1" role="button" aria-disabled="true">Link</a>

I-block dagiti buton

Mangaramid kadagiti responsive stack ti full-width, “block buttons” a kas kadagidiay adda iti Bootstrap 4 nga addaan iti panaglaok dagiti display ken gap utilities-tayo. Babaen ti panagusar kadagiti utilidad imbes a dagiti espesipiko a klase ti buton, addaantayo iti dakdakkel nga amang a panangtengngel iti panagsisina, panagtunos, ken dagiti makasungbat a kababalin.

html nga
<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>

Ditoy ket mangpartuat kami ti sumungbat a panagduduma, a mangrugi kadagiti bertikal a naurnong a buton aginggana ti mdbreakpoint, a sadiay .d-md-blockket mangsukat ti .d-gridklase, iti kasta ket mang-nullify ti gap-2utilidad. Baliwam ti kadakkel ti browser-mo tapno makitam nga agbaliwda.

html nga
<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>

Mabalinmo nga ilinteg ti kalawa dagiti buton ti blokemo babaen dagiti klase ti kalawa ti adigi ti grid. Kas pagarigan, para iti kagudua ti kalawana a “block button”, usaren ti .col-6. Isentro dayta a horizontal iti .mx-auto, met.

html nga
<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>

Mabalin nga usaren dagiti kanayonan a utilidad a mangbalbaliw iti pannakaitunos dagiti buton no horizontal. Ditoy nga innalami ti napalabas a responsive a pagariganmi ken innayonmi ti sumagmamano a flex utility ken ti margin utility iti buton tapno kannawan nga i-align dagiti buton no saandan a naurnong.

html nga
<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>

Plugin ti buton

Ti plugin ti buton ket mangipalubos kenka a mangpartuat kadagiti simple nga on/off toggle buttons.

Iti panagkita, dagitoy a buton ti panagbalbaliw ket agpapada kadagiti buton ti panagbalbaliw ti kahon ti tsek . Nupay kasta, dagitoy ket naiduma a maidanon babaen dagiti makatulong a teknolohia: dagiti panagbalbaliw ti kahon ti tsek ket maipakaammonto babaen dagiti agbasbasa ti iskrin a kas "na-check"/“saan a na-check” (gapu ta, iti laksid ti panagparangda, dagitoy ket pundamental pay laeng a kahon ti tsek), idinto a dagitoy a buton ti panagbalbaliw ket maipakaammo a kas “buton”/“napidut ti buton”. Ti panagpili iti nagbaetan dagitoy dua nga asidegan ket agpannurayto iti kita ti panagbalbaliw a parparnuaymo, ken no ti panagbalbaliw ket addaan wenno saan iti kaipapanan kadagiti agar-aramat no maipakaammo a kas maysa a kahon ti tsek wenno kas maysa nga aktual a buton.

Toggle dagiti estado

Add data-bs-toggle="button"to toggle ti activekasasaad ti maysa a buton. No pre-toggling-mo ti maysa a buton, masapul a manual nga inayonmo ti .activeklase ken aria-pressed="true" tapno masigurado a maidanon dayta a maitutop kadagiti makatulong a teknolohia.

html nga
<button type="button" class="btn btn-primary" data-bs-toggle="button">Toggle button</button>
<button type="button" class="btn btn-primary active" data-bs-toggle="button" aria-pressed="true">Active toggle button</button>
<button type="button" class="btn btn-primary" disabled data-bs-toggle="button">Disabled toggle button</button>
html nga
<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>

Dagiti Pamay-an

Mabalinmo ti mangpartuat ti pagarigan ti buton babaen ti konstruktor ti buton, kas pagarigan:

const bsButton = new bootstrap.Button('#myButton')
Wagas Panangiladawan
dispose Dadaelenna ti buton ti maysa nga elemento. (Ikkaten ti naidulin a datos iti elemento ti DOM)
getInstance Estatiko a pamay-an a mangipalubos kenka a makaala ti pagarigan ti buton a nainaig iti maysa nga elemento ti DOM, mabalinmo nga usaren daytoy a kas daytoy: bootstrap.Button.getInstance(element).
getOrCreateInstance Estatiko a pamay-an a mangisubli ti maysa a pagarigan ti buton a nainaig iti maysa nga elemento ti DOM wenno mangpartuat ti baro no kas pagarigan saan a nairugi. Mabalinmo nga usaren dayta a kastoy: bootstrap.Button.getOrCreateInstance(element).
toggle Toggles ti estado ti iduron. Ikkan ti buton ti langa a na-activate dayta.

Kas pagarigan, tapno mai-toggle amin a buton

document.querySelectorAll('.btn').forEach(buttonElement => {
  const button = bootstrap.Button.getOrCreateInstance(buttonElement)
  button.toggle()
})

CSS nga

Dagiti Variable

Nainayon iti v5.2.0

Kas paset ti agbaliwbaliw nga asidegan dagiti CSS a variable ti Bootstrap, dagiti buton ket agus-usar itan kadagiti lokal a CSS a variable on .btnpara iti napasayaat nga aktual nga oras a panagpasayaat. Dagiti pateg para kadagiti variable ti CSS ket naikeddeng babaen ti Sass, isu a ti panagpasayaat ti Sass ket nasuportaran pay laeng, met.

  --#{$prefix}btn-padding-x: #{$btn-padding-x};
  --#{$prefix}btn-padding-y: #{$btn-padding-y};
  --#{$prefix}btn-font-family: #{$btn-font-family};
  @include rfs($btn-font-size, --#{$prefix}btn-font-size);
  --#{$prefix}btn-font-weight: #{$btn-font-weight};
  --#{$prefix}btn-line-height: #{$btn-line-height};
  --#{$prefix}btn-color: #{$body-color};
  --#{$prefix}btn-bg: transparent;
  --#{$prefix}btn-border-width: #{$btn-border-width};
  --#{$prefix}btn-border-color: transparent;
  --#{$prefix}btn-border-radius: #{$btn-border-radius};
  --#{$prefix}btn-hover-border-color: transparent;
  --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
  --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity};
  --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5);
  

Tunggal .btn-*klase ti mangbalbaliw ket mangpabaro kadagiti maitutop a variable ti CSS tapno mangkissay kadagiti kanayonan a pagalagadan ti CSS babaen dagiti button-variant(), button-outline-variant(), ken dagiti button-size()mixintayo.

Adda ditoy ti pagarigan ti panagbangon ti maysa a kostumbre a .btn-*klase ti mangbalbaliw a kas ti ar-aramidentayo para kadagiti buton a naisangsangayan kadagiti doktayo babaen ti panangituding manen kadagiti CSS a variable ti Bootstrap nga addaan iti panaglalaok dagiti bukodtayo a CSS ken Sass a variable.

.btn-bd-primary {
  --bs-btn-font-weight: 600;
  --bs-btn-color: var(--bs-white);
  --bs-btn-bg: var(--bd-violet);
  --bs-btn-border-color: var(--bd-violet);
  --bs-btn-border-radius: .5rem;
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #{shade-color($bd-violet, 10%)};
  --bs-btn-hover-border-color: #{shade-color($bd-violet, 10%)};
  --bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: #{shade-color($bd-violet, 20%)};
  --bs-btn-active-border-color: #{shade-color($bd-violet, 20%)};
}

Sass dagiti variable

$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:              var(--#{$prefix}link-color);
$btn-link-hover-color:        var(--#{$prefix}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%;

Sass nga mixins

Adda dagiti tallo a mixin para kadagiti buton: dagiti buton ken dagiti buton a balabala a variant mixin (agpada a naibatay iti $theme-colors), agraman ti maysa a mixin ti kadakkel ti buton.

@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)
) {
  --#{$prefix}btn-color: #{$color};
  --#{$prefix}btn-bg: #{$background};
  --#{$prefix}btn-border-color: #{$border};
  --#{$prefix}btn-hover-color: #{$hover-color};
  --#{$prefix}btn-hover-bg: #{$hover-background};
  --#{$prefix}btn-hover-border-color: #{$hover-border};
  --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(mix($color, $border, 15%))};
  --#{$prefix}btn-active-color: #{$active-color};
  --#{$prefix}btn-active-bg: #{$active-background};
  --#{$prefix}btn-active-border-color: #{$active-border};
  --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
  --#{$prefix}btn-disabled-color: #{$disabled-color};
  --#{$prefix}btn-disabled-bg: #{$disabled-background};
  --#{$prefix}btn-disabled-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)
) {
  --#{$prefix}btn-color: #{$color};
  --#{$prefix}btn-border-color: #{$color};
  --#{$prefix}btn-hover-color: #{$color-hover};
  --#{$prefix}btn-hover-bg: #{$active-background};
  --#{$prefix}btn-hover-border-color: #{$active-border};
  --#{$prefix}btn-focus-shadow-rgb: #{to-rgb($color)};
  --#{$prefix}btn-active-color: #{$active-color};
  --#{$prefix}btn-active-bg: #{$active-background};
  --#{$prefix}btn-active-border-color: #{$active-border};
  --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
  --#{$prefix}btn-disabled-color: #{$color};
  --#{$prefix}btn-disabled-bg: transparent;
  --#{$prefix}btn-disabled-border-color: #{$color};
  --#{$prefix}gradient: none;
}
@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {
  --#{$prefix}btn-padding-y: #{$padding-y};
  --#{$prefix}btn-padding-x: #{$padding-x};
  @include rfs($font-size, --#{$prefix}btn-font-size);
  --#{$prefix}btn-border-radius: #{$border-radius};
}

Sass nga mga loop

Dagiti variante ti buton (para kadagiti regular ken dagiti buton ti balabala) ket agus-usar kadagiti bukodda a mixin iti $theme-colorsmapami tapno mangpataud kadagiti klase ti mangbalbaliw iti scss/_buttons.scss.

@each $color, $value in $theme-colors {
  .btn-#{$color} {
    @if $color == "light" {
      @include button-variant(
        $value,
        $value,
        $hover-background: shade-color($value, $btn-hover-bg-shade-amount),
        $hover-border: shade-color($value, $btn-hover-border-shade-amount),
        $active-background: shade-color($value, $btn-active-bg-shade-amount),
        $active-border: shade-color($value, $btn-active-border-shade-amount)
      );
    } @else if $color == "dark" {
      @include button-variant(
        $value,
        $value,
        $hover-background: tint-color($value, $btn-hover-bg-tint-amount),
        $hover-border: tint-color($value, $btn-hover-border-tint-amount),
        $active-background: tint-color($value, $btn-active-bg-tint-amount),
        $active-border: tint-color($value, $btn-active-border-tint-amount)
      );
    } @else {
      @include button-variant($value, $value);
    }
  }
}

@each $color, $value in $theme-colors {
  .btn-outline-#{$color} {
    @include button-outline-variant($value);
  }
}