در مطلب «
نگاهی به اجزای تعاملی Twitter Bootstrap» مباحث سیستم راهبری بوت استرپ 2 بررسی شدند. در ادامه قصد داریم، نکات جدیدی را در اینباره خصوصا جهت ارتقاء به بوت استرپ 3، بررسی کنیم.
تعیین موقعیت کاربر در صفحه به کمک breadcrumbs در Bootstrap
در مورد قسمت breadcrumb، مطالب مانند قبل و پیشنیاز ذکر شده است. با این تفاوت که بهتر است بجای ul از ol استفاده شود؛ چون ترتیب این عناصر مهم است. ol به معنای ordered list میباشد:
<ol class="breadcrumb">
<li><a href="#">خانه</a></li>
<li><a href="#">خدمات</a></li>
<li class="active">محصولات</li>
</ol>
یک سؤال: اگر نخواهیم این خطوط مورب ظاهر شوند و برای مثال علاقمند باشیم تا از گلیف آیکنهای معرفی شده در قسمت قبل استفاده کنیم، چه باید کرد؟
برای این منظور نیاز است با نحوه رندر خطوط مورب در بوت استرپ آشنا شویم. بنابراین فایل bootstrap-rtl.css را گشوده و چند سطر ذیل را جستجو کنید:
.breadcrumb > li + li:before {
content: "/\00a0";
padding: 0 5px;
color: #cccccc;
}
همانطور که ملاحظه میکنید، تفسیر عبارت ذکر شده در قسمت content سبب نمایش این خط مورب است. برای حذف آن، به فایل custom.css پروژه مراجعه و تعاریف ذیل را اضافه خواهیم کرد (این فایل همانطور که در قسمت اول ذکر شد، باید پس از ذکر لینک فایل CSS اصلی بوت استرپ، تعریف شود):
.breadcrumb > li + li:before {
content: none;
}
به این ترتیب خطوط مورب breadcrumb حذف میشوند. اکنون برای افزودن گلیف آیکنها به صورت زیر میتوان عمل کرد:
<ol class="breadcrumb">
<li><a href="#">خانه</a> <span class="glyphicon glyphicon-circle-arrow-left"></span></li>
<li><a href="#">خدمات</a> <span class="glyphicon glyphicon-circle-arrow-left"></span></li>
<li class="active">محصولات</li>
</ol>
اگر از رنگ گلیف آیکنهای نمایش داده شده راضی نیستید، آنها را نیز میتوانید در فایل CSS سفارشی خود تغییر دهید. برای مثال:
.glyphicon {
color: #cdae51;
}
تعریف برگهها در Twitter Bootstrap
در مورد تعریف برگهها، بوت استرپ 3 با نگارش 2 آن، تفاوتی ندارد و تمام نکات مطلب «
نگاهی به اجزای تعاملی Twitter Bootstrap» در اینجا نیز صادق هستند. یک ul باید تعریف شود و سپس برای نمونه کلاسهای nav nav-tabs را به آنها اضافه خواهیم کرد تا به شکل tab به نظر برسند. برگه فعال نیز با کلاس active مشخص میشود.
یک نکته جدید: در بوت استرپ 3 میتوان یک برگه را کاملا در عرض صفحه کشید و امتداد داد:
<ul class="nav nav-pills nav-justified">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li class="active"><a href="#">Services</a></li>
<li><a href="#">Photo Gallery</a></li>
<li><a href="#">Contact</a></li>
</ul>
با اضافه کردن nav-justified، بجای شکل زیر
به تصویر ذیل خواهیم رسید که در آن tab، در امتداد صفحه کشیده شده است:
تعریف navbar در بوت استرپ 3
اصول کلی navbar بوت استرپ 3 همانند بوت استرپ 2 است؛ با چند تفاوت کوچک:
- کلاس btn-navbar بوت استرپ 2 به کلاس navbar-btn در بوت استرپ 3 تغییر نام یافته است.
- کلاس navbar-inner بوت استرپ 2 کلا حذف شده است.
- کلاسهای nav-list به کلاسهای list-group تغییر نام یافتهاند.
- کلاس brand با navbar-brand جایگزین شده است.
- کلاسهای navbar-brand و navbar-toggle باید داخل المانی با کلاس navbar-header محصور شوند.
- کلاس nav باید به همراه navbar-nav باشد.
- کلاسهای جدید navbar-default navbar-text navbar-btn navbar-header اضافه شدهاند.
یک مثال:
<div class="container">
<h4 class="alert alert-info">
nav</h4>
<div class="row">
<nav class="navbar navbar-default navbar-inverse navbar-fixed-top" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#collapse">
<span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span><span
class="icon-bar"></span><span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="collapse">
<ul class="nav navbar-nav">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li class="active"><a href="#">Services</a></li>
<li><a href="#">Photo Gallery</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
</nav>
</div>
<!-- end row -->
</div>
<!-- /container -->
به همراه CSS سفارشی:
body { padding-top: 70px; }
توضیحات:
- CSS سفارشی، سبب خواهد شد تا تگ h4 بالای صفحه، زیر navbar مخفی نشده و قابل مشاهده باشد.
- کار با المان nav دارای کلاس navbar navbar-default شروع میشود. همچنین role=navigation نیز به این المان اضافه شدهاست. این مورد کمکی خواهد بود به افرادی با قدرت بینایی کم که از screen readers استفاده میکنند.
- داخل navbar-default یک div دیگر با کلاس navbar-header اضافه شده است. این مورد قابلیتهای واکنشگرای navbar را فراهم میسازد. به این ترتیب زمانیکه عرض صفحه کمتر میشود، مانند تصویر دوم، یک دکمه ویژه نمایش داده خواهد شد.
- هرجایی در بوت استرپ ویژگیهای data- را ملاحظه کردید، یعنی قرار است اطلاعاتی در اختیار اجزای جاوا اسکریپتی آن قرار گیرند. برای نمونه data-target به یک div با آی دی مساوی collapse اشاره میکند. به این معنا که اگر در زمان کم بودن عرض صفحه، دکمه ویژه واکنشگرای navbar ظاهر شد، با کلیک بر روی آن دکمه، div یاد شده را نمایش بده.
- span تعریف شده با کلاس sr-only به معنای اطلاعاتی است که صرفا جهت screen readers تدارک دیده شدهاند.
فایلهای نهایی این قسمت را از اینجا نیز میتوانید دریافت کنید: bs3-sample03.zip