سلام با آموزش Bootstrap 4 در خدمت شما هستیم در قسمت قبل با مفهوم زیر آشنا شدیم
شکل زیر یک منو بار ساده Navs در بوت استرپ 4 را نشان می دهد :
برای ایجاد یک منوی navbar افقی، بایستی کلاس nav. را به المنت <ul> مادر لیست اضافه کرده و برای هر آیتم <li> آن کلاس nav-item. را تعیین نمایید. همچنین می توانید کلاس nav-link. را به هر یک از لینک ها بدهید.
مثال عملی : در کد مثال عملی زیر یک منوی navbar ساده را با یک المنت <ul> با کلاس nav. ایجاد کرده و 4 آیتم درون آن تعریف کرده ایم. آیتم آخر به علت به کار بردن کلاس disabled. غیر فعال بوده و نمی توان آن را کلیک کرد:
<ul class="nav">
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
می توانید منوی navbar را به صورت وسط چین یا راست چین نیز به کار ببرید. حالت پیش فرض آن، چپ چین است.
در صورت استفاده از کلاس justify-content-center.، منوی navbar در وسط تراز شده و با کلاس justify-contentent-end. در سمت راست، قرار می گیرد، همانند مثال عملی زیر :
<!-- Centered nav -->
<ul class="nav justify-content-center">
<!-- Right-aligned nav -->
<ul class="nav justify-content-end"></ul></ul>
می توانید با به کار بردن کلاس flex-column در عنصر مادر منو (تگ ul)، منوی navbar را به صورت عمودی نشان دهید، همانند کد مثال عملی زیر :
<ul class="nav flex-column">
</ul>
می توایند با اضافه کردن کلاس nav-tabs. به المنت اصلی منو بار navbar، آیتم های منوی آن را به صورت لبه با Tab تبدیل کنید.
به هر عضوی از منو که می خواهید در ابتدا فعال بوده و لبه آن بالا باشد، کلاس active. را اختصاص دهید.
اگر می خواهید منوهای Tab به صورت قابل مخفی/نمایان شدن یا بسته و باز شدن (Togglable) باشند، به آخرین مثال این درس رجوع کنید.
مثال عملی: کد مثال اول درس را بازنویسی کرده و کلاس nav-tabs را به تگ <ul> اضافه کرده ایم :
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link active" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
می توانید با استفاده از کلاس nav-pills.، آیتم های منوی navbar را به لینک صفحه بندی (Navigation) تبدیل کنید.
اگر می خواهید آیتم های Pills قابل باز و بسته شدن (tagglable) باشند، به مثال آخر درس رجوع نمایید.
مثال عملی : در کد مثال عملی زیر، مثال قبلی را بازنویسی کرده و با اضافه کردن کلاس nav-pills.، آیتم ها را به دکمه های Pill تبدیل کرده ایم :
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link active" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
با به کار بردن کلاس nav-justified. در تگ اصلی منوی navbar، آیتم های Tab یا Pill آن به صورت تمام عرض صفحه یا عنصر دربرگیرنده نمایش داده شده و عرض های برابری خواهند داشت. همانند کد مثال عملی زیر:
<ul class="nav nav-pills nav-justified">..</ul>
<ul class="nav nav-tabs nav-justified">..</ul>
می توانید از یک یا چند Dropdown در آیتم های منوی navbar با Pills استفاده کنید، همانند شکل زیر :
مثال: در کد مثال عملی زیر یک منوی navbar Pills ایجاد کرده ایم که آیتم دوم آن یک Dropdown است :
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link active" href="#">Active</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#">Dropdown</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Link 1</a>
<a class="dropdown-item" href="#">Link 2</a>
<a class="dropdown-item" href="#">Link 3</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
می توانید همانند منوی Pills، از یک یا چند Dropdown در آیتم های منوی navbar Tabs نیز استفاده کنید، همانند شکل زیر:
مثال: در کد مثال عملی زیر، مثال قبلی را بازنویسی کرده و برای ایجاد منوی Tabs، از کلاس nav-tabs به جای nav-pills استفاده کرده ایم :
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link active" href="#">Active</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#">Dropdown</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Link 1</a>
<a class="dropdown-item" href="#">Link 2</a>
<a class="dropdown-item" href="#">Link 3</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
برای متحرک کردن و دینامیک کردن نمایش محتویات آیتم های منوی Tabs، بایستی خاصیت data-toggle=”tab” را به هر یک از لینک های منوی Tab بدهید. سپس درون تگ div با کلاس tab-content که دربرگیرنده محتویات زیر هر Tab است، (به ازای هر آیتم tab) یک تگ div با کلاس tab-pane. که دارای یک شناسه یا ID منحصر به فرد است، ایجاد نمایید.
در این حالت، با کلیک بر روی هر یک از آیتم های Tab، محتویات زیر آن نمایش داده می شود. چنانچه می خواهید در هنگام ظاهر/مخفی شدن محتویات زیر Tabها، محتویات با حالت fade (محو شدن) نمایش داده شوند، کلاس fade. را به هر آیتم اضافه کنید. در کد مثال عملی زیر، تمامی موارد بالا نمایش داده شده است
<!-- Nav tabs -->
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#home">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#menu1">Menu 1</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#menu2">Menu 2</a>
</li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane container active" id="home">...</div>
<div class="tab-pane container fade" id="menu1">...</div>
<div class="tab-pane container fade" id="menu2">...</div>
</div>
دقیقا همانند کد و روند بخش قبل در مورد Tabs عمل خواهد شد، با این تفاوت که بایستی کلاس عنصر اصلی را به nav-pills. و مقدار خاصیت data-toggle را به pill تغییر دهید، همانند کد زیر :
<!-- Nav pills -->
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#home">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#menu1">Menu 1</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#menu2">Menu 2</a>
</li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane container active" id="home">...</div>
<div class="tab-pane container fade" id="menu1">...</div>
<div class="tab-pane container fade" id="menu2">...</div>
</div>