داشتن یک نوار هدایتی(Navigation Bar) مناسب که استفاده از آن آسان باشد برای هر وبسایتی ضروریست. در این فصل با انواع نوار هدایتی آشنا میشویم.
داشتن یک نوار هدایتی(Navigation Bar) مناسب که استفاده از آن آسان باشد برای هر وبسایتی ضروریست.
با استفاده از عناصر HTML میتوانید یک نوار هدایتی زیبا برای وب سایتتان طراحی کنید.
یک نوار هدایتی به طور اساسی از لیستی از لینک ها تشکیل شده است، بنابراین استفاده از عناصر <ul> و <li> کاملا احساس میشود.
در نمونه مثال زیر نحوه ی استفاده از عناصر لیست را برای ساخت یک منو مشاهده میکنید. در این مرحله هنوز از CSS برای زیبا سازی منو استفاده نکرده ایم :
<ul>
<li><a href="default.asp">Home</a></li>
<li><a href="news.asp">News</a></li>
<li><a href="contact.asp">Contact</a></li>
<li><a href="about.asp">About</a></li>
</ul>
خودتان امتحان کنیدبرای حذف بولت ها از لیست و هیمن طور حذف margin و padding از آن به طریق زیر عمل میکنیم :
ul {
list-style-type: none;
margin: 0;
padding: 0;
}
خودتان امتحان کنیدتوضیح مثال :
نمونه مثال بالا کد استانداردی است که برای هر دوی نوار های هدایتی عمودی و افقی استفاده میشود.
برای ساخت یک نوار هدایتی عمودی، شما میتوانید عنصر <a> را داخل لیست فرمت بندی کنید، به کد های بالا کد زیر را نیز اضافه کنید :
li a {
display: block;
width: 60px;
}
خودتان امتحان کنیدتوضیح مثال :
شما همچنین میتوانید مقدار صفت width را برای عنصر <ul> تنظیم کرده و مقدار width برای عناصر <a> را حذف کنید. این همان نتیجه ای که مثال قبل داشت را در بر خواهد داشت :
ul {
list-style-type: none;
margin: 0;
padding: 0;
width: 60px;
}
li a {
display: block;
}
خودتان امتحان کنیدنمونه مثال زیر ساخت یک نوار هدایتی عمودی را نشان میدهد که دارای رنگ پیش زمینه ی خاکستری است و وقتی که موس کاربر بر روی لینک ها قرار میگیرد، رنگ پیش زمینه تغییر خواهد کرد :
ul {
list-style-type: none;
margin: 0;
padding: 0;
width: 200px;
background-color: #f1f1f1;
}
li a {
display: block;
color: #000;
padding: 8px 16px;
text-decoration: none;
}
/* Change the link color on hover */
li a:hover {
background-color: #555;
color: white;
}
خودتان امتحان کنیداضافه کردن یک کلاس "active" به لینک جاری، به کاربر اجازه خواهد داد که بداند در حال حاضر در کدام صفحه حضور دارد :
.active {
background-color: #4CAF50;
color: white;
}
خودتان امتحان کنیداضافه کردن text-align:center به عناصر <li> و <a> باعث وسط چین شدن محتویات لینک ها خواهد شد.
اضافه کردن صفت border به عنصر <ul>، خط دوری را به اطراف نوار هدایتی اضافه میکند. اگر میخواهید خط های دور به داخل نوار هدایتی هم اضافه شود، صفت border-bottom را برای همه عناصر <li> تنظیم کنید (به جز آخرین <li>) :
ul {
border: 1px solid #555;
}
li {
text-align: center;
border-bottom: 1px solid #555;
}
li:last-child {
border-bottom: none;
}
خودتان امتحان کنیدبرای ساخت یک نوار هدایتی عمودی که ثابت بوده و به یک طرف مرورگر چسبیده باشد به صورت زیر عمل میکنیم :
ul {
list-style-type: none;
margin: 0;
padding: 0;
width: 25%;
background-color: #f1f1f1;
height: 100%; /* Full height */
position: fixed; /* Make it stick, even on scroll */
overflow: auto; /* Enable scrolling if the sidenav has too much content */
}
خودتان امتحان کنیدنکته : مثال بالا ممکن است در دستگا های موبایل به درستی کار نکند.
به دو روش میتوان نوار هدایتی افقی ساخت. با استفاده آیتم های لیست به صورت inline و یا با استفاده از float.
یک روش برای ساخت یک نوار هدایتی افقی تبدیل عناصر <li> به عنصری در سطح inline است، کد زیر را به کد مثال بالا اضافه کنید :
li {
display: inline;
}
خودتان امتحان کنیدتوضیح مثال :
روش دیگر برای ساخت یک نوار هدایتی افقی استفاده از صفت float برای عناصر <li> است :
li {
float: left;
}
a {
display: block;
padding: 8px;
background-color: #dddddd;
}
خودتان امتحان کنیدتوضیح مثال :
نکته: اگر میخواهید کل طول نوار هدایتی شما داری رنگ پشت زمینه باشد، صفت background-color را به جای عنصر <a> به عنصر <ul> اضافه کنید:
ul {
background-color: #dddddd;
}
خودتان امتحان کنیددر نمونه مثال زیر یک نوار هدایتی افقی را ایجاد کرده ایم که دارای رنگ بک گراند مشکی است و با قرار گیری موس کاربر بر روی لینک های این نوار هدایتی رنگ بک گراند تغییر میکند :
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333;
}
li {
float: left;
}
li a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
/* Change the link color to #111 (black) on hover */
li a:hover {
background-color: #111;
}
خودتان امتحان کنیدبا افزودن یک کلاس با مقدار "active" میتوان لینک جاری را مشخص کرد و به کاربر اجازه داد بداند در کدام صفحه قرار گرفته است :
.active {
background-color: #4CAF50;
}
خودتان امتحان کنیدبرای راست چین کردن لینک ها در نوار های هدایتی افقی از float:right استفاده کنید :
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li style="float:right"><a class="active" href="#about">About</a></li>
</ul>
خودتان امتحان کنیدبا اضافه کردن صفت border-right به عناصر <li> میتوان جدا کننده ایجاد کرد :
/* Add a gray right border to all list items, except the last item (last-child) */
li {
border-right: 1px solid #bbb;
}
li:last-child {
border-right: none;
}
خودتان امتحان کنیدمیتوان نوار های هدایتی را به صورت ثابت در بالا و پایین صفحه قرار داد، حتی وقتی کاربر صفحه را پیمایش میکند :
نوار هدایتی ثابت در بالا :
ul {
position: fixed;
top: 0;
width: 100%;
}
خودتان امتحان کنیدنوار هدایتی ثابت در پایین :
ul {
position: fixed;
bottom: 0;
width: 100%;
}
خودتان امتحان کنیدنکته : مثال های بالا ممکن است در دستگاه های موبایل به درستی کار نکنند.
یک مثال نوار هدایتی خاکستری به صورت زیر است :
ul {
border: 1px solid #e7e7e7;
background-color: #f3f3f3;
}
li a {
color: #666;
}
خودتان امتحان کنید
دیدگاه ها
برای ارسال دیدگاه لازم است ابتدا وارد سایت شوید
آموزش CSS
لرن سورس با هدف ایجاد یک مرجع کامل و جامع در زمینه آموزش دوره محور زبان های برنامه نویسی و وب پا به عرصه وب گذاشته است.
ما در لرن سورس همیشه سعی خواهیم کرد تا نیاز های آموزشی شما کاربران عزیز را در قالب آموزش های مختلف پاسخ دهیم.
با استفاده از لینک های زیر میتوانید به بخش های اصلی سایت دسترسی داشته باشید:
شما کاربران عزیز میتوانید با هر کدام از راه های ارتباطی زیر با تیم آموزشی لرن سورس در ارتباط باشید: