دکمه ها
از سبک های دکمه سفارشی بوت استرپ برای عملکردها در فرم ها، دیالوگ ها و موارد دیگر با پشتیبانی از چندین اندازه، حالت و موارد دیگر استفاده کنید.
بوت استرپ شامل چندین سبک دکمه از پیش تعریف شده است، که هر کدام هدف معنایی خود را انجام می دهند، و برای کنترل بیشتر، چند مورد اضافی به کار رفته است.
<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>
انتقال معنا به فناوری های کمکی
استفاده از رنگ برای افزودن معنی فقط یک نشانه بصری ارائه می دهد که به کاربران فناوری های کمکی - مانند صفحه خوان ها - منتقل نمی شود. اطمینان حاصل کنید که اطلاعات مشخص شده با رنگ یا از خود محتوا واضح است (مثلاً متن قابل مشاهده)، یا از طریق ابزارهای جایگزین، مانند متن اضافی پنهان شده با .sr-only
کلاس، گنجانده شده است.
کلاس .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>
با افزودن دکمههای سطح بلوک - دکمههایی که تمام عرض یک والد را تشکیل میدهند - ایجاد .btn-block
کنید.
<button type="button" class="btn btn-primary btn-lg btn-block">Block level button</button>
<button type="button" class="btn btn-secondary btn-lg btn-block">Block level button</button>
هنگامی که فعال است، دکمهها فشار داده شده (با پسزمینه تیرهتر، حاشیه تیرهتر، و سایه داخلی) ظاهر میشوند. نیازی به اضافه کردن یک کلاس به <button>
s نیست زیرا آنها از یک کلاس شبه استفاده می کنند . با این حال، در صورتی که نیاز به تکرار حالت به صورت برنامهریزی داشته باشید، همچنان میتوانید همان ظاهر فعال را با .active
(و شامل ویژگی) مجبور کنید.aria-pressed="true"
<a href="#" class="btn btn-primary btn-lg active" role="button" aria-pressed="true">Primary link</a>
<a href="#" class="btn btn-secondary btn-lg active" role="button" aria-pressed="true">Link</a>
با افزودن disabled
ویژگی Boolean به هر <button>
عنصر، دکمهها را غیرفعال کنید.
<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" role="button" aria-disabled="true">Primary link</a>
<a href="#" class="btn btn-secondary btn-lg disabled" role="button" aria-disabled="true">Link</a>
هشدار عملکرد پیوند
کلاس برای غیرفعال کردن عملکرد پیوند s از آن .disabled
استفاده می کند ، اما ویژگی CSS هنوز استاندارد نشده است. علاوه بر این، حتی در مرورگرهایی که پشتیبانی میکنند ، پیمایش صفحه کلید بیتأثیر باقی میماند، به این معنی که کاربران بینا صفحه کلید و کاربران فناوریهای کمکی همچنان میتوانند این پیوندها را فعال کنند. بنابراین برای ایمن بودن، یک ویژگی روی این پیوندها اضافه کنید (برای جلوگیری از دریافت فوکوس صفحه کلید) و از جاوا اسکریپت سفارشی برای غیرفعال کردن عملکرد آنها استفاده کنید.pointer-events: none
<a>
pointer-events: none
tabindex="-1"
با دکمه ها کارهای بیشتری انجام دهید. کنترل حالت های دکمه یا ایجاد گروه هایی از دکمه ها برای اجزای بیشتر مانند نوار ابزار.
data-toggle="button"
به تغییر وضعیت یک دکمه اضافه کنید active
. اگر از قبل دکمه ای را تغییر می دهید، باید .active
کلاس را aria-pressed="true"
به صورت دستی به آن اضافه کنید <button>
.
<button type="button" class="btn btn-primary" data-toggle="button" aria-pressed="false" autocomplete="off">
Single toggle
</button>
استایلهای بوت استرپ را .button
میتوان روی عناصر دیگر مانند <label>
s اعمال کرد تا کادر انتخاب یا تغییر دکمه استایل رادیویی ارائه شود. data-toggle="buttons"
به یک دکمه حاوی آن دکمههای اصلاحشده اضافه .btn-group
کنید تا رفتار جابهجایی آنها از طریق جاوا اسکریپت فعال شود و .btn-group-toggle
به استایل <input>
s در دکمههای خود اضافه کنید. توجه داشته باشید که میتوانید دکمههای تک ورودی یا گروههایی از آنها ایجاد کنید.
وضعیت علامتگذاری شده برای این دکمهها فقط از طریق رویداد روی دکمه بهروزرسانی میشود. click
اگر از روش دیگری برای بهروزرسانی ورودی استفاده میکنید - مثلاً با <input type="reset">
یا با اعمال دستی ویژگی ورودی checked
- باید به صورت دستی .active
آن را تغییر دهید.<label>
.active
توجه داشته باشید که دکمههای از پیش علامتگذاری شده از شما میخواهند که کلاس را بهصورت دستی به ورودی اضافه کنید <label>
.
<div class="btn-group-toggle" data-toggle="buttons">
<label class="btn btn-secondary active">
<input type="checkbox" checked autocomplete="off"> Checked
</label>
</div>
<div class="btn-group btn-group-toggle" data-toggle="buttons">
<label class="btn btn-secondary active">
<input type="radio" name="options" id="option1" autocomplete="off" checked> Active
</label>
<label class="btn btn-secondary">
<input type="radio" name="options" id="option2" autocomplete="off"> Radio
</label>
<label class="btn btn-secondary">
<input type="radio" name="options" id="option3" autocomplete="off"> Radio
</label>
</div>
روش | شرح |
---|---|
$().button('toggle') |
وضعیت فشار را تغییر می دهد. به دکمه ظاهری می دهد که فعال شده است. |
$().button('dispose') |
دکمه یک عنصر را از بین می برد. |