Bonjour,
Je cherche a superposer une un bouton sur une div
Voici le code HTML :
 <div class="menu-nav">
			<nav>
			<ul>
				<li class="btn">
					<a href="../accueil">
						Accueil
					</a>
				</li>
				<li class="btn">
					<a href="../informations">
						Nos Informations 	
					</a>
				</li>
				<li class="btn">
					<a href="../contact">
						Contact
					</a>
				</li>
				<li class="btn">
					<a href="../projets">
						Nos Projets
					</a>
				</li>
			</ul>
		</nav>
		</div>

Et Voici le code CSS :
div.menu-nav{
	background-color: red;
	height: 37px;
}

div.menu-nav nav ul li.btn{
	background-color: red;
}

div.menu-nav nav ul li.btn a{
	color: #fff;
	background-color: red;
	text-decoration: none;
	padding: 10px;
	padding-bottom: 10px;
}

div.menu-nav nav ul li.btn:hover a{
	background-color: #8B0000;
}

div.menu-nav nav ul li.btn{
	list-style-type: none;
	display: inline-block;
}


Merci d'avance,
Cordialement
Modérateur
Bonjour,

Je ne suis pas sur de comprendre la question.

Tu souhaites que tous les "boutons" (ceux qui ont la classe "btn") soient visuellement complètement à l'intérieur de la div de classe "menu-nav" (alors qu'avec le code que tu donnes, ils dépassent en haut et tu ne veux pas de ça) ?

EDIT: en supposant que je suppose bien, tu peux par exemple :
1) supprimer la hauteur sur la div
2) ajouter un line-height sur le ul assez grand pour contenir une ligne de texte et les paddings de tes "boutons" (à ajuster en fonction des besoins).
div.menu-nav{
	background-color: green;
}

div.menu-nav nav ul{
	line-height: calc(1.5em + 20px);
}

div.menu-nav nav ul li.btn{
	background-color: red;
}

div.menu-nav nav ul li.btn a{
	color: #fff;
	background-color: red;
	text-decoration: none;
	padding: 10px;
}

div.menu-nav nav ul li.btn:hover a{
	background-color: #8B0000;
}

div.menu-nav nav ul li.btn{
	list-style-type: none;
	display: inline-block;
}


Amicalement,
Modifié par parsimonhi (22 Dec 2021 - 02:59)
Merci beaucoup !
Les Boutons se sont se sont bien superposées,
sauf qu'un problème pour je ne sais quel raison le bouton devient trop grand
Image a l'appui : https://ibb.co/s9Ppv2d
J'aurai encore (si ce n'est trop demandé), besoin de votre aide merci
Amicalement,
Modifié par BurgerKingKong (22 Dec 2021 - 13:01)
Modérateur
Bonjour,

As-tu bien mis (attention, il faut des espaces autour du "+"):
div.menu-nav nav ul{
	line-height: calc(1.5em + 20px);
}


Il est essentiel que la valeur du line-height soit supérieur à la hauteur des "boutons" y compris leurs paddings.

Il est aussi essentiel de supprimer le height de la div globale comme ci-dessous (il n'y a plus du tout de height pour le div.menu-nav) :
div.menu-nav{
	background-color: green;
}

On peut aussi rendre le code un peu plus robuste en supprimant les padding verticaux des "boutons", et en leur donnant une height de 100%.

Par exemple :
div.menu-nav{
	background-color: green;
}

div.menu-nav nav ul{
	line-height: calc(1.5em + 20px);
}

div.menu-nav nav ul li.btn{
	background-color: red;
}

div.menu-nav nav ul li.btn a{
	color: #fff;
	background-color: red;
	text-decoration: none;
	display: block;
	padding: 0 10px;
	height: 100%;
	box-sizing: border-box;
}

div.menu-nav nav ul li.btn:hover a{
	background-color: #8B0000;
}

div.menu-nav nav ul li.btn{
	list-style-type: none;
	display: inline-block;
}

Amicalement,
Modifié par parsimonhi (22 Dec 2021 - 13:38)
Meilleure solution