Dropdown-uri CSS
Un dropdown CSS dezvăluie o listă de opțiuni sau alt conținut după ce utilizatorul dă clic sau trece cu mausul peste un element, cum ar fi un buton sau o legătură de navigare.
Două părți îl fac să funcționeze. Prima este un element declanșator (precum <div>, <button>, <p>, <a> etc.), lucrul pe care utilizatorul dă clic sau peste care trece cu mausul.
A doua este conținutul dropdown: un element container (de ex. <div>) care ține ascuns materialul, care poate fi text, legături, imagini etc., până când declanșatorul îl afișează.
Casetă Dropdown CSS cu Text
În această primă versiune, trecerea cu mausul peste un element <div> face să apară o casetă dropdown care conține puțin text.
Casetă dropdown cu text
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Dropdown Box with Text</title>
<style>
.dropdown {
position: relative;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 130px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
padding: 12px 16px;
}
.dropdown:hover .dropdown-content {
display: block;
}
</style>
</head>
<body>
<h2>Dropdown Text</h2>
<p>Mouse over the text below to see the dropdown content.</p>
<div class="dropdown">Mouse over me!
<div class="dropdown-content">Hello World!</div>
</div>
</body>
</html>
Explicația Exemplului
- Pentru ca conținutul dropdown, care folosește
position:absolute, să ajungă chiar sub elementul declanșator, clasa.dropdownare nevoie deposition:relative. - Conținutul dropdown se află în clasa
.dropdown-content, ascuns implicit până când un hover îl afișează. - Aici este setat un
min-widthde 130px, și poți să-l schimbi cum vrei! Pentru a se potrivi cu lățimea elementului declanșator, foloseștewidthla 100%, plusoverflow:autoca să se poată derula pe ecrane mici. - Aspectul de „card” al conținutului dropdown vine din proprietatea
box-shadow, folosită în locul unei borduri. - În final, selectorul
:hoverdezvăluie conținutul dropdown după ce utilizatorul trece cu mausul peste elementul<div>dropdown.
Meniu Dropdown CSS
Un meniu dropdown îi permite utilizatorului să aleagă o opțiune dintr-o listă.
Se bazează pe exemplul anterior, iar singura diferență este un buton plus legături puse în caseta dropdown, toate stilizate ca să se potrivească butonului dropdown.
Meniu dropdown cu buton
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Dropdown Menu</title>
<style>
.dropdown {
position: relative;
}
/* Style the dropdown button */
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
}
/* Dropdown content */
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 200px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}
/* Links inside dropdown content */
.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 content on hover */
.dropdown:hover .dropdown-content {
display: block;
}
/* Change background color of dropdown button on hover */
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
</style>
</head>
<body>
<h2>Dropdown Menu</h2>
<p>Mouse over the button to see the dropdown menu.</p>
<div class="dropdown">
<button class="dropbtn">Dropdown Menu</button>
<div class="dropdown-content">
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</div>
</body>
</html>