28112 sujets

CSS et mise en forme, CSS3

Bonjour tout le monde !

J'ai un menu déroulant qui fonctionne parfaitement...sauf que lorsque les onglets se déroule, je cherche à faire en sorte que les div en-dessous se décale et ne soit pas masqués comme actuellement.

Auriez-vous des suggestions pour permettre ce décalage ?

Voici mon html

	<div class="mainHeader">
		<div class="mainHeader_navigation">
		  <input class="menu-btn" type="checkbox" id="menu-btn" />
		  <label class="menu-icon" for="menu-btn"><span class="navicon"></span></label>
		  <ul class="menu">
			<li><a href="#work">Work</a></li>
			<li><a href="#about">About</a></li>
			<li><a href="#careers">Careers</a></li>
			<li><a href="#contact">Contact</a></li>
		  </ul>
		</div>
</div>
<div class="mainBanner spaceHome-color">
</div>


Voici mon CSS :

.mainHeader {
	width: 100%;
	height:75px;
	padding: 0;
	display:block;
	position: relative;
  top:0; left:0;
}

.mainHeader_navigation {width: 80px; height: 75px; padding: 0; display:block; position: absolute; top:0; right:0; clear: both;}

/* menu */

 .mainHeader_navigation .menu {
  max-height: 0;
  transition: max-height .2s ease-out;
}

.mainHeader_navigation ul {
  margin: 0 0 0 -1100px;
  padding: 0;
  list-style: none;
  overflow: hidden;
  background-color: #fff;
  width: 1180px;
  display: block;
}

.mainHeader_navigation .menu li a {
  width: 100%;
  display: block;
  padding: 10px;
  font-family: sans-serif; font-size: 1.6em; line-height: 150%; font-weight: 500; color: #333;
  text-decoration: none;
  text-align: center;
  color: #333;
}

.mainHeader_navigation .menu li a:hover {
  background-size: 100% 4px; 
}

.mainHeader_navigation li a:hover,
.mainHeader_navigation .menu-btn:hover {
  background-color: #ffff00;
}

/* menu icon */

.mainHeader_navigation .menu-icon {
  cursor: pointer;
  display: inline-block;
  width:80px;
  padding: 35px 25px;
  user-select: none; background:#f0f0f0;
}

.menu-icon .navicon {
  background: #000;
  display: block;
  height: 5px;
  position: relative;
  transition: background .2s ease-out;
  width: 30px;
}

.mainHeader_navigation .menu-icon .navicon:before,
.mainHeader_navigation .menu-icon .navicon:after {
  background: #000;
  content: ' ';
  display: block;
  height: 100%;
  position: absolute;
  transition: all .2s ease-out;
  width: 100%;
}

.mainHeader_navigation .menu-icon .navicon:before {
  top: 10px;
}

.mainHeader_navigation .menu-icon .navicon:after {
  top: -10px;
}

/* menu btn */

.mainHeader_navigation .menu-btn {
  display: none; 
}
.mainHeader_navigation .menu-btn:checked ~ .menu {
  max-height: 400px;
}
.mainHeader_navigation .menu-btn:checked ~ .menu-icon .navicon {
  background: transparent;
}
.mainHeader_navigation .menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(-45deg);
}
.mainHeader_navigation .menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}
.mainHeader_navigation .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
.mainHeader_navigation .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  top: 0;
}
.mainBanner {width: 100%; height: 100px; margin: 0; padding: 0; display:block;}
.spaceHome-color {background:#6b00b5;}


D'avance merci à vous Smiley cligne
Modifié par soinf (09 Mar 2019 - 01:00)
Modérateur
Salut,

enlever la height de 75px de .mainHeader (tu peux le mettre en min-height si tu veux la garder au minimum) et ne pas positionner le menu en absolute.