বুটামসমূহ
একাধিক আকাৰ, অৱস্থা, আৰু অধিক সমৰ্থনৰ সৈতে প্ৰপত্ৰ, সংলাপ, আৰু অধিক কাৰ্য্যসমূহৰ বাবে 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>
আকাৰসমূহ
ডাঙৰ বা সৰু বুটামৰ আড়ম্বৰপূৰ্ণ? যোগ কৰক .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>
বুটামসমূহ ব্লক কৰক
আমাৰ প্ৰদৰ্শন আৰু ফাঁক সঁজুলিসমূহৰ মিশ্ৰণৰ সৈতে বুটষ্ট্ৰেপ 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 |
এটা উপাদানৰ বুটাম ধ্বংস কৰে। (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()
})
ছাছ
চলকসমূহ
$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);
}
}