Bonjour, Bonsoir.
J'ai un problème d'affichage avec mon menu j'ai fait deux menu en 1 avec à gauche "Accueil, Equipe etc..." et à droite "Connexion et Inscription" Sauf que mon problème c'est que mes deux menus ne sont pas bien aligner et j'ai un second problème c'est que j'ai un peu de marge au dessus de mon menu.
Mon menu :
Code HTML :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="css/main.css">
</head>
<body>
<!-- Premier Menu -->
<div class="top-bar">
<div class="nav-left">
<ul>
<li><a href="index">Accueil</a></li>
<li><a href="#">Staff</a></li>
<li><a href="#">Forum</a></li>
<li><a href="#">Boutique</a></li>
</ul>
</div>
<!-- Deuxième Menu -->
<div class="nav-right">
<ul>
<!-- Non Connecté -->
<?php if(empty($_SESSION['id'])){ ?>
<li><a href="login">Connexion</a></li>
<li><a href="register">Inscription</a></li>
<?php } ?>
<!-- Connecté -->
<?php if(!empty($_SESSION['id'])){ ?>
<li><a href="profil.php?id=<?php echo $_SESSION['id']; ?>">Mon Profil</a></li>
<?php if($rang >= 700){ ?>
<li><a href="admin/">Administration</a></li>
<?php } ?>
<li><a href="logout">Déconnexion</a></li>
<?php } ?>
</ul>
</div>
</div>
Code CSS :
@import url('https://fonts.googleapis.com/css?family=Raleway:400,500,600,700');
body{
margin: auto;
padding: auto;
}
.top-bar{
width: auto;
height: 80px;
background-color: #22313F;
font-family: 'Raleway', sans-serif;
font-weight: 600;
}
.top-bar a{
color: white;
}
.top-bar .nav-left ul{
list-style-type: none;
}
.top-bar .nav-left li{
display: inline-block;
margin-left: 5px;
}
.top-bar .nav-left ul li a{
float: left;
text-decoration: none;
text-transform: uppercase;
}
.top-bar .nav-right ul{
list-style-type: none;
float: right;
}
.top-bar .nav-right li{
padding-right: 15px;
display: inline-block;
}
.top-bar .nav-right ul li a{
text-decoration: none;
text-transform: uppercase;
}
Je vous remercie d'avance.
Passez une bonne journée/soirée.
Cordialement, Kais
Alors premier problème, tu dois enlever les marges de tes éléments par défaut. Utilises un normalize, un reset ou simplement :
html{
box-sizing:border-box;
}
*,*:before,*:after{
box-sizing:inherit;
margin:0;
padding:0;
}
Ensuite pour aligner verticalement tes menus, tu peux sois définir une line-height
qui ai la valeur du conteneur, sois utiliser flexbox (ce qui t'évitera les float, ils ne sont pas faits pour ça mais pour faire flotter un texte à coté d'une image .
Avec flexbox , tu pourra jouer sur la propriété align-items
sur le parent pour centrer tout ça .