Bonjour à tous,

Je suis entrain de faire un menu en css avec une petite fonction hide/show du sous-menu.
Je souhaiterai en fait pouvoir lors d'un clic sur le menu parent que le sous-menu décale les éléments (menus parents suivants) en dessous pour y insérer ensuite ces fameux éléments composants ce sous-menu...

Pour l'instant, le sous-menu apparait mais ne décale pas les menus parents du dessous

HTML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<div id="menu_nav">
    <ul>
        <li><a href="index.php?cat=metier&mode=statuts" class="current">Statuts de la Profession</a></li>
        <li><a href="index.php?cat=metier&mode=conducteur">Devenir Conducteur</a></li>
        <li><a href="index.php?cat=metier&mode=exploitant">Devenir Exploitant</a></li>
        <li><a href="#" onclick="showHide('sous_menu')">Le C.C.P.C.T.</a>
            <ul id="sous_menu" class="hide">
                <li><a href="#" class="submenu">Lien1</a></li>
                <li><a href="#" class="submenu">Lien2</a></li>
                <li><a href="#" class="submenu">Lien3</a></li>
                <li><a href="#" class="submenu">Lien4</a></li>
            </ul>
        </li>
        <li><a href="index.php?cat=metier&mode=ecoles">Les Ecoles de Taxis</a></li>
    </ul>
</div>
CSS :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
 
#menu_nav {
    padding:0px;
    margin:0px;
}
 
#menu_nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    }
 
#menu_nav ul li {
    padding-bottom:10px;
    height:32px;
    display:block;
    }
 
#menu_nav {
    width: 240px;
    margin: 10px;
    }
 
#menu_nav li a {
    text-decoration: none;
    font-size:14px;
    height:24px;
    padding-top:8px;
    padding-left:10px;
}    
 
#menu_nav li a:link, #menu_nav li a:visited {
    color: #4D4D4D;
    text-align:left;
    display: block;
    background:  url(../images/menu10.gif);
    }
 
#menu_nav li a:hover {
    color: #FF9834;
    padding-right:10px;
    text-align:right;
    background:  url(../images/menu10_hover.gif);
    font-weight:bold;
}
 
#menu_nav li a.current {
    padding-right:10px;
    text-align:right;
    background:  url(../images/menu10_hover.gif);
    font-weight:bold;
}
 
.submenu{
background-image: url(images/submenu.gif);
display: block;
height: 19px;
margin-left: 38px;
padding-top: 2px;
padding-left: 7px;
color: #333333;
}
 
.hide{
display: none;
}
 
.show{
display: block;
}
Javascript (même si inutile car fonctionnel) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<script language="JavaScript" type="text/JavaScript">
<!--
menu_status = new Array();
function showHide(theid){
    if (document.getElementById) {
    var switch_id = document.getElementById(theid);
 
        if(menu_status[theid] != 'show') {
           switch_id.className = 'show';
           menu_status[theid] = 'show';
        }else{
           switch_id.className = 'hide';
           menu_status[theid] = 'hide';
        }
    }
}
 
//-->
</script>
Merci pour votre aide !