முக்கிய உள்ளடக்கத்திற்கு செல்க டாக்ஸ் வழிசெலுத்தலுக்குச் செல்லவும்
Check
in English

பொத்தான்கள்

பல அளவுகள், நிலைகள் மற்றும் பலவற்றிற்கான ஆதரவுடன் படிவங்கள், உரையாடல்கள் மற்றும் பலவற்றின் செயல்களுக்கு பூட்ஸ்டார்ப்பின் தனிப்பயன் பொத்தான் பாணிகளைப் பயன்படுத்தவும்.

எடுத்துக்காட்டுகள்

பூட்ஸ்டார்ப் பல முன் வரையறுக்கப்பட்ட பொத்தான் பாணிகளை உள்ளடக்கியது, ஒவ்வொன்றும் அதன் சொந்த சொற்பொருள் நோக்கத்தை வழங்குகின்றன, மேலும் சில கூடுதல் கட்டுப்பாடுகள் உள்ளன.

html
<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"அவற்றின் நோக்கத்தை சரியான முறையில் தெரிவிக்கும் வகையில் உதவி தொழில்நுட்பங்களுக்கு வழங்கப்பட வேண்டும். திரை வாசகர்கள்.

இணைப்பு
html
<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-*எந்த பொத்தானில் உள்ள அனைத்து பின்னணி படங்களையும் வண்ணங்களையும் அகற்ற , இயல்புநிலை மாற்றி வகுப்புகளை மாற்றவும் .

html
<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கூடுதல் அளவுகள்.

html
<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
<button type="button" class="btn btn-primary btn-sm">Small button</button>
<button type="button" class="btn btn-secondary btn-sm">Small button</button>

CSS மாறிகள் மூலம் உங்கள் சொந்த தனிப்பயன் அளவையும் நீங்கள் உருட்டலாம்:

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

ஊனமுற்ற நிலை

எந்த உறுப்புக்கும் disabledபூலியன் பண்புக்கூறைச் சேர்ப்பதன் மூலம் பொத்தான்களை செயலற்றதாக மாற்றவும். <button>முடக்கப்பட்ட பொத்தான்கள் pointer-events: noneபயன்படுத்தப்பட்டு, மிதவை மற்றும் செயலில் உள்ள நிலைகளைத் தூண்டுவதைத் தடுக்கிறது.

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

உறுப்பைப் பயன்படுத்தி முடக்கப்பட்ட பொத்தான்கள் <a>சற்று வித்தியாசமாக செயல்படுகின்றன:

  • <a>disabledகள் பண்புக்கூறை ஆதரிக்கவில்லை , எனவே .disabledபார்வைக்கு முடக்கப்பட்டதாக காட்ட வகுப்பைச் சேர்க்க வேண்டும்.
  • pointer-eventsஆங்கர் பொத்தான்களில் உள்ள அனைத்தையும் முடக்க சில எதிர்கால நட்பு பாணிகள் சேர்க்கப்பட்டுள்ளன .
  • முடக்கப்பட்ட பொத்தான்கள் உதவி தொழில்நுட்பங்களுக்கு உறுப்பு நிலையைக் குறிக்கும் பண்புக்கூறைக் கொண்டிருக்க வேண்டும் <a>.aria-disabled="true"
  • பயன்படுத்தும் முடக்கப்பட்ட பொத்தான்களில் பண்புக்கூறு <a> இருக்கக்கூடாது .href
html
<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>

hrefமுடக்கப்பட்ட இணைப்பில் நீங்கள் பண்புக்கூறை வைத்திருக்க வேண்டிய நிகழ்வுகளை மறைக்க , .disabledவகுப்பு s pointer-events: noneஇன் இணைப்பு செயல்பாட்டை முடக்க முயற்சிக்கிறது . <a>இந்த CSS பண்பு இன்னும் HTML க்கு தரப்படுத்தப்படவில்லை, ஆனால் அனைத்து நவீன உலாவிகளும் இதை ஆதரிக்கின்றன. கூடுதலாக, ஆதரிக்கும் உலாவிகளில் கூட pointer-events: none, விசைப்பலகை வழிசெலுத்தல் பாதிக்கப்படாமல் உள்ளது, அதாவது பார்வையுள்ள விசைப்பலகை பயனர்கள் மற்றும் உதவி தொழில்நுட்பங்களைப் பயன்படுத்துபவர்கள் இந்த இணைப்புகளை இன்னும் செயல்படுத்த முடியும். எனவே பாதுகாப்பாக இருக்க, கூடுதலாக, aria-disabled="true"இந்த tabindex="-1"இணைப்புகளில் விசைப்பலகை ஃபோகஸ் பெறுவதைத் தடுக்க, அவற்றின் செயல்பாட்டை முழுவதுமாக முடக்க தனிப்பயன் JavaScript ஐப் பயன்படுத்தவும்.

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

தடுப்பு பொத்தான்கள்

எங்கள் காட்சி மற்றும் இடைவெளி பயன்பாடுகளின் கலவையுடன் பூட்ஸ்டார்ப் 4 இல் உள்ளதைப் போன்ற முழு-அகலம், "பிளாக் பொத்தான்களின்" பதிலளிக்கக்கூடிய அடுக்குகளை உருவாக்கவும். பொத்தான் குறிப்பிட்ட வகுப்புகளுக்குப் பதிலாக பயன்பாடுகளைப் பயன்படுத்துவதன் மூலம், இடைவெளி, சீரமைப்பு மற்றும் பதிலளிக்கக்கூடிய நடத்தைகள் ஆகியவற்றின் மீது எங்களுக்கு அதிக கட்டுப்பாடு உள்ளது.

html
<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பயன்பாடு செல்லாது. அவை மாறுவதைக் காண உங்கள் உலாவியின் அளவை மாற்றவும்.

html
<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மையப்படுத்தவும்.

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

கிடைமட்டமாக இருக்கும் போது பொத்தான்களின் சீரமைப்பை சரிசெய்ய கூடுதல் பயன்பாடுகள் பயன்படுத்தப்படலாம். இங்கே நாங்கள் எங்கள் முந்தைய பதிலளிக்கக்கூடிய உதாரணத்தை எடுத்து, பொத்தான்களை அடுக்கி வைக்காதபோது, ​​அவற்றை வலது சீரமைக்க, சில நெகிழ்வுப் பயன்பாடுகள் மற்றும் ஒரு விளிம்பு பயன்பாட்டைச் சேர்த்துள்ளோம்.

html
<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" அது உதவிகரமான தொழில்நுட்பங்களுக்கு சரியான முறையில் தெரிவிக்கப்படுவதை உறுதிசெய்ய வேண்டும்.

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

முறைகள்

பொத்தான் கட்டமைப்பாளருடன் பொத்தான் நிகழ்வை உருவாக்கலாம், எடுத்துக்காட்டாக:

const bsButton = new bootstrap.Button('#myButton')
முறை விளக்கம்
dispose ஒரு உறுப்பு பொத்தானை அழிக்கிறது. (DOM உறுப்பில் சேமிக்கப்பட்ட தரவை நீக்குகிறது)
getInstance DOM உறுப்புடன் தொடர்புடைய பொத்தான் நிகழ்வைப் பெற உங்களை அனுமதிக்கும் நிலையான முறை, நீங்கள் இதை இப்படிப் பயன்படுத்தலாம்: bootstrap.Button.getInstance(element).
getOrCreateInstance DOM உறுப்புடன் தொடர்புடைய பொத்தான் நிகழ்வை வழங்கும் நிலையான முறை அல்லது அது துவக்கப்படாமல் இருந்தால் புதியதை உருவாக்குகிறது. நீங்கள் இதை இப்படி பயன்படுத்தலாம்: bootstrap.Button.getOrCreateInstance(element).
toggle புஷ் நிலையை மாற்றுகிறது. பொத்தான் செயல்படுத்தப்பட்ட தோற்றத்தை அளிக்கிறது.

எடுத்துக்காட்டாக, அனைத்து பொத்தான்களையும் மாற்றுவதற்கு

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

CSS

மாறிகள்

v5.2.0 இல் சேர்க்கப்பட்டது

பூட்ஸ்டார்ப்பின் வளரும் CSS மாறிகள் அணுகுமுறையின் ஒரு பகுதியாக, பொத்தான்கள் இப்போது .btnமேம்படுத்தப்பட்ட நிகழ்நேர தனிப்பயனாக்கலுக்காக உள்ளூர் CSS மாறிகளைப் பயன்படுத்துகின்றன. CSS மாறிகளுக்கான மதிப்புகள் Sass வழியாக அமைக்கப்படுகின்றன, எனவே Sass தனிப்பயனாக்கம் இன்னும் ஆதரிக்கப்படுகிறது.

  --#{$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);
  

எங்கள் , , மற்றும் mixins உடன் கூடுதல் CSS விதிகளைக் குறைக்க ஒவ்வொரு .btn-*மாற்றியமைக்கும் வகுப்பும் பொருத்தமான CSS மாறிகளைப் புதுப்பிக்கிறது .button-variant()button-outline-variant()button-size()

.btn-*எங்களுடைய சொந்த CSS மற்றும் Sass மாறிகளின் கலவையுடன் பூட்ஸ்டார்ப்பின் CSS மாறிகளை மறுஒதுக்கீடு செய்வதன் மூலம் எங்கள் டாக்ஸுக்குத் தனித்துவம் வாய்ந்த பட்டன்களுக்கு நாம் செய்வது போன்ற தனிப்பயன் மாற்றி வகுப்பை உருவாக்குவதற்கான எடுத்துக்காட்டு இங்கே உள்ளது.

.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%)};
}

சாஸ் மாறிகள்

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

சாஸ் கலவைகள்

பொத்தான்களுக்கு மூன்று மிக்சின்கள் உள்ளன: பொத்தான் மற்றும் பட்டன் அவுட்லைன் மாறுபாடு மிக்சின்கள் (இரண்டும் அடிப்படையாக கொண்டது $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)
) {
  --#{$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};
}

சாஸ் சுழல்கள்

பட்டன் மாறுபாடுகள் (வழக்கமான மற்றும் அவுட்லைன் பொத்தான்களுக்கு) $theme-colorsமாற்றியமைக்கும் வகுப்புகளை உருவாக்க எங்கள் வரைபடத்துடன் தொடர்புடைய மிக்ஸின்களைப் பயன்படுத்துகின்றன 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);
  }
}