آموزش ایجاد منوی عمودی در CSS

 برای ایجاد یک منوی عمودی، می توانید به عناصر <a> درون یک لیست علاوه بر کدهای مقاله ی قبلی، استایل دهی کنید:

مثال شماره 1

li a {
  display: block;
  width: 60px;
}
امتحان کنید

توضیح مثال بالا

دستور display: block : نمایش دادن لینک ها به صورت عناصر بلوکی(block) باعث می شود تمام ناحیه ی لینک، قابل کلیک باشد(نه فقط متن لینک) و به ما امکان می دهد تا عرض(width) (و padding و margin و height و ... را در صورت نیاز) مشخص کنیم.

دستور width: 60px : عناصر بلوکی(block) عرض کامل در دسترس خود را به طور پیش فرض اشغال می کنند. از این رو، ما می خواهیم این عرض 60 پیکسل باشد.


ما همچنین می توانیم عرض <ul> را تنظیم کنیم و عرض <a> را حذف کنیم؛ زیرا آنها وقتی به عنوان عناصر بلوکی نمایش داده می شوند، تمام عرض موجود را اشغال می کنند. این کار باعث می شود نتیجه ای مانند مثال قبلی حاصل شود:

مثال شماره 2

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 60px;
}

li a {
  display: block;
}
امتحان کنید

مثال هایی از منوی عمودی

ایجاد یک منوی عمودی ساده با یک پس زمینه ی خاکستری و تغییر رنگ پس زمینه ی لینک ها، وقتی که کاربر ماوس را روی آنها می برد:

مثال شماره 3

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;
}

/*تغییر دادن رنگ لینک وقتی ماوس روی آن می رود*/
li a:hover {
  background-color: #555;
  color: white;
}
امتحان کنید

مشخص کردن لینک منوی فعلی(فعال)

کلاس active را به لینک فعلی اضافه کنید تا به کاربر امکان دهید که بداند در کدام صفحه قرار دارد:

مثال شماره 4

.active {
  background-color: #04AA6D;
  color: white;
}
امتحان کنید

وسط چین کردن لینک ها و اضافه کردن کادر(border)

برای وسط چین کردن لینک ها، می توانید دستور text-align:center را به <li> یا <a> اضافه کنید.

ویژگی border را به <ul> اضافه کنید تا به دور نوار منو، کادر اضافه شود. همچنین اگر می خواهید کادرها، درون منوها نیز اضافه شوند، یک دستور border-bottom را به تمام عناصر <li> به جز آخرین <li> اضافه کنید:

 

مثال شماره 5

ul {
  border: 1px solid #555;
}

li {
  text-align: center;
  border-bottom: 1px solid #555;
}

li:last-child {
  border-bottom: none;
}
امتحان کنید

 


منوی عمودی با ارتفاع کامل و ثابت(Full-height Fixed)

در مثال زیر، یک منو با ارتفاع کامل و به صورت چسبنده ایجاد کرده ایم:

مثال شماره 6

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 25%;
  background-color: #f1f1f1;
  height: 100%; /* ارتفاع کامل */
  position: fixed; /* چسبنده حتی با اسکرول */
  overflow: auto; /* فعال کردن اسکرول کردن، اگر نوار کناری محتوای زیادی داشته باشد */
}
امتحان کنید

نکته: این مثال ممکن است در موبایل به درستی کار نکند.

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.


تصویر امنیتی
تصویر امنیتی جدید

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال