Ce post concerne selon moi deux partie du forum, la partie CSS et JS, mais j'ai préférer choisir le JS.. Ne me demandé pas pourquoi :D

Bonjour,

J'ai un menu où quand je clique dessus il se déploie et quand je clique ailleurs sur la page se ferme.

Tout fonctionne bien.. Sauf que j'aimerais pouvoir y mettre des éléments et qu'ils ne soient pas afficher quand le "menu" est fermer.

J'ai essayer de jouer avec les opacités mais ça ne me convient pas sur le rendu.

Auriez-vous donc une solution ?

8 réponses


Benjamin Derepas
Réponse acceptée

Regarde du coté de la propriété overflow, ça pourra peut être t'aider

Salut,

Euh, il nous faudrait + de détails pour pouvoir t'aider donne nous ton code ou post le sur codepen ou autre comme ça on pourra faire quelque chose :)

Laznet
Auteur

J'ai regrouper sur ce codepen les trois codes :
Ici

Sinon (dans l'idée ou ça ne fonctionnerais pas) :
Code JS

function sidebaropen(){
var barre = document.getElementById("bar");
var test = document.getElementById("test");
barre.style.width = "200px";
barre.style.transition = "width 0.6s";
barre.style.cursor = "default";
}

function sidebarclose(){
var barre = document.getElementById("bar");
var test = document.getElementById("test");
barre.style.width = "10px";
barre.style.cursor = "pointer";

}

Code CSS

body{
margin:0;
padding:0;
background-color:#333030;
}

header{
background-color:#555454;
height:25px;
width:100%;
}

#editor{
background-color:transparent;
width:100%;
resize:none;
border:none;
padding-left:15px;
font-size:15px;
outline:none;
font-family: courier new;
color:#fff;
height:100%;
margin-top:-29px;
padding-top:40px;
transition:width 0.6s;
}

#bar{
height:96%;
width:10px;
background-color:#555454;
position: absolute;
float: left;
}

#bar:hover{
cursor: pointer;
}

#test{
background-color:#fff;
width:100px;
height:100px;
margin-left:10px;
overflow: hidden;
}

Code HTML

<html>
<head>
    <meta charset="UTF-8">
    <title>Accueil</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
</head>
    <body>
        <header>
        </header>
        <div id="bar" onclick="sidebaropen();">

        </div>
        <textarea id="editor" resize="none" onclick="sidebarclose();"></textarea>
    </body>
    <script type="text/javascript" src="js/app.js"></script>
</html>

C'est peut être une remarque bête que je vais faire là, mais si un element , appelons le #sidebarcontient des élements (donc des enfants) et que cette #sidebarest cachée, ses enfants aussi alors

@Mika445 Ton codepen n'est pas fonctionnel il faudrat le revoir stp http://codepen.io/anon/pen/ZbPKPj

Laznet
Auteur

betaWeb - Le code est également disponible dans le post.

BenJamin Derepas
C'est ce que je veux faire, je n'ai pas les bon termes, mais en gros c'est ça.
M'enfin.. Par cacher j'entend réduit. Je réduis la largeur.
Vu que la largeur de #sidebar quand elle est cacher est de 10px.
Le truc c'est que par exemple quand je met du content dans #sidebar le content est afficher dans son intégralité.
C'est justement ça mon problème ^^.

Laznet
Auteur

Benjamin Derepas - Je vais essayer !

betaWeb - MàJ du lien ici

Laznet
Auteur

Un grand merci à Benjamin Derepas !