Bonjour à tous,
je me permets de vous contacter car j'ai un problème de positionnement.
J'essaie d'afficher le menu sous différents boutons mais ce menu s'affiche toujours sous le 1er bouton.
Voici le code HTML :
Voici le code CSS :
Voici le code javascript :
J'aimerais que ce menu s'affiche en-dessous des boutons correspondants. Je suppose qu'il s'agit d'un problème de positionnement mais je ne suis pas un expert en positionnement.
Par hasard, avez-vous connaissance d'un site où le positionnement est bien expliqué ?
Merci pour votre aide.
Bonne journée
Thierry
je me permets de vous contacter car j'ai un problème de positionnement.
J'essaie d'afficher le menu sous différents boutons mais ce menu s'affiche toujours sous le 1er bouton.
Voici le code HTML :
<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<!-- Permet d'empêcher l'utilisateur de zoomer -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>Menu Responsive</title>
</head>
<body>
<div class="container">
<div class="preview">
<div class="lastname">
Charles
</div>
<div class="dropdown">
<input type="button" onclick="actions()" class="dropbtn" value="Actions">
<div id="myDropdown" class="dropdown-content">
<a href="update.php">Modifier</a>
<a href="delete.php">Supprimer</a>
<a href="insert.php">Insérer</a>
</div>
</div>
</div>
</div>
<div class="container">
<div class="preview">
<div class="lastname">
Jean-Philippe
</div>
<div class="dropdown">
<input type="button" onclick="actions()" class="dropbtn" value="Actions">
<div id="myDropdown" class="dropdown-content">
<a href="update.php">Modifier</a>
<a href="delete.php">Supprimer</a>
<a href="insert.php">Insérer</a>
</div>
</div>
</div>
</div>
<div class="container">
<div class="preview">
<div class="lastname">
Jean-Pierre
</div>
<div class="dropdown">
<input type="button" onclick="actions()" class="dropbtn" value="Actions">
<div id="myDropdown" class="dropdown-content">
<a href="update.php">Modifier</a>
<a href="delete.php">Supprimer</a>
<a href="insert.php">Insérer</a>
</div>
</div>
</div>
</div>
</body>
</html>
Voici le code CSS :
/* Dropdown Button */
.dropbtn {
background-color: #3498DB;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
}
/* Dropdown button on hover & focus */
.dropbtn:hover, .dropbtn:focus {
background-color: #2980B9;
}
/* 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: #f1f1f1;
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: #ddd}
/* Show the dropdown menu (use JS to add this class to the .dropdown-content container when the user clicks on the dropdown button) */
.show {display:block;}
Voici le code javascript :
/* When the user clicks on the button, toggle between hiding and showing the dropdown content */
function actions() {
document.getElementById("myDropdown").classList.toggle("show");
}
// Close the dropdown menu if the user clicks outside of it
window.onclick = function(event) {
if (!event.target.matches('.dropbtn')) {
var dropdowns = document.getElementsByClassName("dropdown-content");
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
}
J'aimerais que ce menu s'affiche en-dessous des boutons correspondants. Je suppose qu'il s'agit d'un problème de positionnement mais je ne suis pas un expert en positionnement.
Par hasard, avez-vous connaissance d'un site où le positionnement est bien expliqué ?
Merci pour votre aide.
Bonne journée
Thierry