آموزش ایجاد منوی کشویی در CSS
در اینجا به بررسی منوی کشویی با قبلیت hover شدن، می پردازیم.
چند مثال از منوی کشویی
ماوس خود را روی مثال های زیر ببرید تا نتیجه را مشاهده کنید:
ایجاد یک منوی کشویی ساده
ایجاد یک منوی کشویی که وقتی کاربر ماوس خود را روی یک عنصر می برد، ظاهر می شود:
مثال شماره 1
<style>
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
padding: 12px 16px;
z-index: 1;
}
.dropdown:hover .dropdown-content {
display: block;
}
</style>
<div class="dropdown">
<span>Mouse over me</span>
<div class="dropdown-content">
<p>سلام به شما</p>
</div>
</div>
امتحان کنیدتوضیح مثال:
بررسی کدهای HTML: می توانیم از هر عنصری برای باز کردن محتوای کشو استفاده کنیم، بعنوان مثال، می توانیم از یک عنصر <span> یا یک <button> استفاده کنیم. از یک عنصر دربردارنده، مانند یک <div> برای دربر گرفتن محتوای(content) منوی کشویی استفاده کنید. یک عنصر <div> را به دور عناصر مورد نظر بسته بندی کنید تا محتوای منوی کشویی را به درستی با CSS موقعیت دهی(position) کنیم.
بررسی کدهای CSS: کلاس dropdown. از دستور position:relative ، وقتی که بخواهیم محتوای(content) منوی کشویی درست در زیر دکمه ی منو(با استفاده از position:absolute) قرار گیرد، استفاده می شود. کلاس dropdown-content. محتوای(content) منوی کشویی، را نگهداری می کند. این بخش، به طور پیش فرض مخفی(hidden) است، و وقتی ماوس روی آن برود(hover شود)، نمایش داده می شود.
توجه کنید که min-width برابر با 160px قرار گرفته است. با خیالت راحت می توانید آن را تغییر دهید.
نکته: اگر می خواهید عرضِ(width) محتوای منو به اندازه ی عرض دکمه ی منو باشد، width آن را برابر با %100 قرار دهید( و از overflow:auto استفاده کنید تا در نمایشگرهای کوچک، اسکرول فعال شود).
ما به جای استفاده از کادر(border)، از ویژگی box-shadow در CSS استفاده کرده ایم تا منوی کشویی مانند یک کارت به نظر برسد. از سلکتور hover: برای نمایش دادن منوی کشویی، وقتی که کاربر ماوس را روی دکمه ی آن می برد، استفاده می شود.
ایجاد منوی کشویی
می خواهیم یک منوی کشویی ایجاد کنیم که به کاربر امکان می دهد تا در یک لیست، یک گزینه را انتخاب کند:
این مثال، مشابه با مثال قبلی است، به جز اینکه ما لینک ها را درون جعبه ی کشویی قرار داده ایم و آنها را استایل دهی کرده ایم تا در یک دکمه ی منوی کشویی جا شوند:
مثال شماره 2
<style>
/* Style The Dropdown Button */
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
}
/* The container <div> - needed to position the dropdown content */
.dropdown {
position: relative;
display: inline-block;
}
/* Dropdown Content (Hidden by Default) */
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
/* Links inside the dropdown */
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: #f1f1f1}
/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
display: block;
}
/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
</style>
<div class="dropdown">
<button class="dropbtn">Dropdown</button>
<div class="dropdown-content">
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</div>
امتحان کنید
راست جین کردن محتوای منوی کشویی
اگر می خواهید منوی کشویی به جای اینکه از چپ به راست باشد، از سمت راست به چپ باشد، از دستور right:0 استفاده کنید:
مثال های بیشتر
مثال شماره 4
تصویر کشویی:
در این مثال می آموزیم که چگونه یک تصویر و دیگر محتوا ها را درون جعبه ی منوی کشویی اضافه کنیم:
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
امتحان کنیدمثال شماره 5
در این مثال می آموزیم که چگونه یک منوی کشویی را در یک منوی افقی ایجاد کنیم:
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333;
}
li {
float: right;
}
امتحان کنید
- بازدید: 209
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.