Slùt tout le monde,,
J'ai recontré un petit problem au niveau du desgin
le problem est :
j'ai une div parent (topbar), qui contien des div
<div class="topbar">
<div class="top">
<div class="logo">
<a href="index.html"><img src="img/logo.png" alt="Logo" /></a>
</div>
<a href="#" class="responsive">
<span class="bar"></span>
<span class="bar"></span>
<span class="bar"></span>
</a>
<div class="search">
<form>
<input type="text" placeholder="Some thins Missing ?" />
</form>
</div>
</div>
<div class="navbar">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Home</a></li>
<li><a href="#">Home</a></li>
<li><a href="#">Home</a></li>
<li><a href="#">Home</a></li>
</ul>
</div>
</div>
et voila le css
.topbar{
overflow: hidden;
margin-bottom: 20px;
}
.topbar .top{
overflow: hidden;
}
.topbar .top .logo{
float: right;
margin: 5px 15px;
}
.topbar .top .search{
float: left;
margin-left: 10px;
margin-top: 10px;
}
.topbar .top .search input{}
.topbar .top .search input:hover{}
.topbar .top .search input:focus{}
.topbar .navbar{
background: #494745;
overflow: hidden;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.topbar .navbar ul li{
float: right;
list-style: none;
}
.topbar .navbar ul li a{
padding: 11px 10px;
display: block;
}
.topbar .responsive{
float: left;
margin-top: 14px;
display: none;
}
.bar{
display: block;
width: 18px;
height: 2px;
margin: 3px 0;
background-color: whiteSmoke;
-webkit-border-radius: 1px;
-moz-border-radius: 1px;
border-radius: 1px;
-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}
.topbar .responsive{ display: block; }
.topbar .navbar { display: none; }
et enfin le jQuery
jQuery(function($){
$('.responsive').click(function(){
$('.navbar').slideToggle();
return false;
});
});
Voila le problème, j'ai la div navbar qui se trouve au dessus , et qui apparaît bien
mais au niveau du responsive design je veux que la div.respnsive apparaît et le navbar diaprait , et il me reste la possibilité
de voir le navbar lorsque je clic sur la div.respnsive (j'ai fais ça avaec la jquery comme le code ) mais lorsque je suis sur le responsive et lorque je cache mon navbar et j'agrandi l'ecran a nouveau le navbar n'apparaitre plus ,
et lorsque j'inpect le code je trouve la displa:none; au niveau du html
Merci bcp :)
ok, j'avais pas compris le problème au début :)
Le fait que ta div disparaisse c'est normal => en JS tu lui ajoute le style "display:none;"( via le "slideToggle();" )
Donc, soit tu met en mémoire l'état de l'élément avant la modification et tu le ré-injecte quandd tu re-clique (j'ai un trou concernant la syntaxe). Soit plus simplement, tu crée une animation a la main qui joue sur :
@media screen and (max-width: 480px)
.topbar .navbar {
display: none;
}
qd le bouton est actif, tu rajoute la classe "actif" est tu met .topbar .navbar en display: block;
qd tu re-clique dessus, tu enlève la classe "actif" est tu met .topbar .navbar en display: none;
en gros le but et de modifier ta classe css directement afin qu'elle soit prise en compte qd tu changera a nouveau la largeur de ton écran.
Je me rend bien compte que j'ai pas été clair :/. Mias de toute manière ya pas mal de moyen de faire sa. Essaye et tiens nous au courant :D