Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > CSS
CSS Forum d'entraide sur l'utilisation des feuilles de style CSS. Avant de poster : Cours CSS, FAQ CSS, Galerie CSS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/11/2010, 12h43   #1
Invité régulier
 
Inscription : octobre 2010
Messages : 36
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 36
Points : 9
Points : 9
Par défaut Affichage sous menus / menu horizontal

Bonjour,

J'ai quelques souci avec l'affichage de mes sous menus. Voici le code de mon menu :

# code html:
Code :
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
 
    <div id="topnav">
 
    	<ul class="dropdown dropdown-horizontal">
    	<li>
    		<%= link_to 'Home' %>
		</li>
		<li>
			<%= link_to 'Menu_1' %>
			<ul>
				<li><%= link_to 'SubMenu_1' %></li>
				<li><%= link_to 'SubMenu_2' %></li>
				<li><%= link_to 'SubMenu_3' %></li>	
				<li><%= link_to 'SubMenu_4' %></li>
				<li><%= link_to 'SubMenu_5' %></li>
			</ul>
		</li>
		<li>
			<%= link_to 'Menu_2' %>
			<ul>
				<li><%= link_to 'SubMenu_6' %></li>
				<li><%= link_to 'SubMenu_7' %></li>	
				<li><%= link_to 'SubMenu_8' %></li>
				<li><%= link_to 'SubMenu_9' %></li>				
			</ul>
		</li>
		<li><%= link_to 'My page' %></li>
		<li><%= link_to 'Logout' %></li>
	</ul>	
    </div>
 
<div id="header_menu">
  <div id="admin_menu">
	<ul id ="submenu" class="dropdown dropdown-horizontal">
		<li><%= link_to 'SubMenu1' %></li>
		<li><%= link_to 'SubMenu2' %></li>		
		<li><%= link_to 'SubMenu3' %></li>
		<li><%= link_to 'SubMenu4' %></li>
	</ul>
  </div>
</div>
# code css:
Code :
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
 
 
/* 
 * First level  
 */
 
ul {
}
 
ul.dropdown * {
 
	margin: 0;
	padding: 0;
	font-weight: bold;
}
 
ul.dropdown,
ul.dropdown li,
ul.dropdown ul {
 list-style: none;
 margin: 0;
 padding: 0;
}
 
 
ul.dropdown {
 position: relative;
 z-index: 50;
 float: left;
 width: 100%;
 background: #3c3f3e; 
}
 
ul.dropdown li {
 float: inline;
 line-height: 1.3em;
 vertical-align: middle;
 zoom: 1;
 padding: 7px 0;
 background-color: #3c3f3e;
 color: #fff;
 line-height: normal; 
 padding: 0; 
z-index: 51;
}
 
ul.dropdown li.hover,
ul.dropdown li:hover {
 position: relative;
 z-index: 51;
 cursor: default;
 width: 20%; 
}
 
ul.dropdown ul li.hover,
ul.dropdown ul li:hover {
 position: relative;
 cursor: default;
 width: 100%;
}
 
ul.dropdown ul {
 visibility: hidden;
 position: absolute;
 top: 100%;
 left: 0;
 z-index: 50;
 width: 100%;
 height: auto; 
}
 
ul.dropdown ul li {
 float: left;
 width: 100%;
 height: auto;
 z-index: -1;
}
 
ul.dropdown ul ul {
 top: 1px;
 left: 99%;
}
 
ul.dropdown li:hover > ul {
 visibility: visible;
}
 
/* ----- ALL LEVELS (incl. first) */
 
ul.dropdown a {
 z-index: 52;
}
 
ul.dropdown a:link,
ul.dropdown a:visited { 
	color: #fff; 
	text-decoration: none; 
}
 
ul.dropdown a:hover { 
	color: #f17c24; 
	text-decoration: none; 
}
 
ul.dropdown a:active { color: #fff; }
 
/* ----- END LEVELS */
 
 
/* ----- NON-FIRST LEVEL */
 
ul.dropdown ul {
 background-color: #3c3f3e;
 color: #fff;
 text-transform: none;
 filter: alpha(opacity=90);
 -moz-opacity: .9;
 KhtmlOpacity: .9;
 opacity: .9;
 width: 100%; 
 /* size invisible background  */
}
 
ul.dropdown ul.hover,
ul.dropdown ul:hover {
 z-index: 599;
}
 
ul.dropdown ul li {
 position: relative;
 background-color: transparent;
 color: #000;
 filter: none;
}
 
ul.dropdown ul li.hover,
ul.dropdown ul li:hover {
 z-index: 599;
 background-color: transparent;
}
 
ul.dropdown ul a {
 position: relative;
}
 
ul.dropdown ul a.hover,
ul.dropdown ul a:hover {
 z-index: 599;
}
 
ul.dropdown ul a:link,
ul.dropdown ul a:visited {
 color: #fff; 
}
 
ul.dropdown ul a:hover { 
	color: #fff; 
	text-decoration: none; 
}
 
ul.dropdown ul a:active { 
color: #fff; 
}
 
/*
/* ----- END LEVEL */
 
 
 
/* ----- ALL LEVELS (incl. first) */
 
ul.dropdown *.dir {
 padding-right: 12px;
 background-image: none;
 background-position: 100% 50%;
 background-repeat: no-repeat;
}
 
/* ----- END LEVEL */
 
 
/* Components override */
 
ul.dropdown li a {
 display: block;
 padding: 7px 14px;
}
 
ul.dropdown li.dir {
 padding: 7px 20px 7px 14px; 
}
 
ul.dropdown ul li.dir { 
 padding-right: 15px; 
}
 
 
/* ------------- Customize */
 
	ul.dropdown li {
		float: left; 
		width: 20%; /* depends of the number of the tabs */
	}	
 
 
/*
 * Menus size : depends of the number of the tabs 
 */	
	div#admin_menu ul#submenu.dropdown li {
		width: 25%; 	
	}
 
	div#issues_menu ul#submenu.dropdown li {
		width: 20%; 	
	}	
 
	div#admin_menu ul#submenu.dropdown li.hover,
	div#admin_menu ul#submenu.dropdown li:hover {
		width: 25%;
	}
 
	div#issues_menu ul#submenu.dropdown li.hover,
	div#issues_menu ul#submenu.dropdown li:hover {
		width: 20%;
	}
 
/*
 * 
 */
 
	ul.dropdown ul a {
	 padding: 4px 5px 4px 14px;
	 width: 100%; /* Especially for IE */ /* size selected link background */
	}
 
	ul.dropdown ul a:hover {
	 background-color: #cae001; /* yellow */
	color: #3c3f3e; /* darkess grey */
	}
 
	ul.dropdown a.open {
	 background-color: #3c3f3e;
	 color: #fff;
	}
 
	ul.dropdown ul a.open {
	 background-color: #3c3f3e;
	 color: #fff;
	}
 
 
	/* CSS 2.1 */
 
	ul.dropdown li:hover > a.dir {
	 background-color: #2e2e2e; 
	 color: #f1771d;
	  /* orange */
	}
 
	ul.dropdown ul li:hover > a.dir {
	 background-color: #76b900;
	 color: #fff;
	}
Ici, le probleme semble etre le z-index. Pour afficher les sous menus au dessus du deuxieme menu lorsqu'ils sont visibles, j'ai mi le z-index a 599 pour etre sure que ca marche. Et ca ne marche pas
J'ai tente de changer la position 'absolute' du sous ul par 'relative' : aucun changement si ce n'est la taille de mon ul conteneur.

Quelqu'un voit-il la raison de ce probleme ?
gayahela est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 15h29   #2
Rédacteur/Modérateur
 
Homme Jérome Debray
Responsable de projet
Inscription : mai 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Jérome Debray
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Responsable de projet
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 627
Points : 3 064
Points : 3 064
Salut,

enlève tous les z-index que tu as sauf dans cette portion CSS:

Code css :
1
2
3
4
5
6
7
8
 
ul.dropdown li.hover,
ul.dropdown li:hover {
 position: relative;
 z-index: 51;
 cursor: default;
 width: 20%; 
}


et cela devrait fonctionner.

++
ornitho13 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/11/2010, 16h29   #3
Invité régulier
 
Inscription : octobre 2010
Messages : 36
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 36
Points : 9
Points : 9
J'crois que je me suis bien emmele les pinceaux la

Merci beaucoup
gayahela est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 10h25   #4
Invité régulier
 
Inscription : octobre 2010
Messages : 36
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 36
Points : 9
Points : 9
La resolution de ce probleme a engendre un autre souci :

Au survol d'un onglet, un sous menu s'affiche. Les elements "ul" et "li" sont de la bonne taille mais l'element "a" fait de la resistance. Il est plus grand que ce qu'il devrait. Pourtant, ses conteneur sont de la bonne taille et sa largeur est a 100%.

# Code css
Code :
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
 
 
/* 
 * First level  
 */
 
ul {
}
 
ul.dropdown * {
 
	margin: 0;
	padding: 0;
	font-weight: bold;
}
 
ul.dropdown,
ul.dropdown li,
ul.dropdown ul {
 list-style: none;
 margin: 0;
 padding: 0;
}
 
 
ul.dropdown {
 position: relative;
 float: left;
 width: 100%;
 background: #3c3f3e; 
}
 
ul.dropdown li {
 float: inline;
 line-height: 1.3em;
 vertical-align: middle;
 zoom: 1;
 padding: 7px 0;
 background-color: #3c3f3e;
 color: #fff;
 line-height: normal; 
 padding: 0; 
 
}
 
ul.dropdown li.hover,
ul.dropdown li:hover {
 position: relative;
 z-index:51;
 cursor: default;
 width: 20%; 
}
 
ul.dropdown ul li.hover,
ul.dropdown ul li:hover {
 position: relative;
 cursor: default;
 width: 100%;
}
 
ul.dropdown ul {
 visibility: hidden;
 position: absolute;
 top: 100%;
 left: 0;
 width: 100%;
 height: auto; 
}
 
ul.dropdown ul li {
 float: left;
 width: 100%;
 height: auto;
}
 
ul.dropdown ul ul {
 top: 1px;
 left: 99%;
}
 
ul.dropdown li:hover > ul {
 visibility: visible;
}
 
ul.dropdown li:hover > li {
 position: relative;
}
 
ul.dropdown li:hover > a {
 position: relative;
}
 
/* ----- ALL LEVELS (incl. first) */
 
ul.dropdown a {
 z-index: 52;
}
 
ul.dropdown a:link,
ul.dropdown a:visited { 
	color: #fff; 
	text-decoration: none; 
}
 
ul.dropdown a:hover { 
	color: #f17c24; 
	text-decoration: none; 
}
 
ul.dropdown a:active { color: #fff; }
 
/* ----- END LEVELS */
 
 
/* ----- NON-FIRST LEVEL */
 
ul.dropdown ul {
 background-color: #3c3f3e;
 color: #fff;
 text-transform: none;
 filter: alpha(opacity=90);
 -moz-opacity: .9;
 KhtmlOpacity: .9;
 opacity: .9;
 width: 100%; 
 /* size invisible background  */
}
 
ul.dropdown ul.hover,
ul.dropdown ul:hover {
}
 
ul.dropdown ul li {
 position: relative;
 background-color: transparent;
 color: #000;
 filter: none;
}
 
ul.dropdown ul li.hover,
ul.dropdown ul li:hover {
 background-color: transparent;
}
 
ul.dropdown ul a {
 position: relative;
}
 
ul.dropdown ul a.hover,
ul.dropdown ul a:hover {
 
}
 
ul.dropdown ul a:link,
ul.dropdown ul a:visited {
 color: #fff; 
}
 
ul.dropdown ul a:hover { 
	color: #fff; 
	text-decoration: none; 
}
 
ul.dropdown ul a:active { 
color: #fff; 
}
 
/*
/* ----- END LEVEL */
 
 
 
/*------------------------------------------------------------------------------------------------------/
 * @section	Support Class 'dir'
 * @level sep	ul, .class
 */
 
 
/* ----- ALL LEVELS (incl. first) */
 
ul.dropdown *.dir {
 padding-right: 12px;
 background-image: none;
 background-position: 100% 50%;
 background-repeat: no-repeat;
}
 
/* ----- END LEVEL */
 
 
/* Components override */
 
ul.dropdown li a {
 display: block;
 padding: 7px 14px;
}
 
/* ------------- Reinitiate default: post-override activities  */
 
	ul.dropdown li.dir {
	 padding: 7px 20px 7px 14px; 
 
	}
 
	ul.dropdown ul li.dir { 
	 padding-right: 15px; 
	}
 
 
/* ------------- Custom */
 
	ul.dropdown li {
		float: left; 
		width: 20%; /* depends of the number of the tabs */
	}	
 
 
/*
 * Menus size : depends of the number of the tabs 
 */	
	div#admin_menu ul#submenu.dropdown li {
		width: 20%; 	
	}
 
	div#issues_menu ul#submenu.dropdown li {
		width: 20%; 	
	}	
 
	div#admin_menu ul#submenu.dropdown li.hover,
	div#admin_menu ul#submenu.dropdown li:hover {
		width: 20%;
	}
 
	div#issues_menu ul#submenu.dropdown li.hover,
	div#issues_menu ul#submenu.dropdown li:hover {
		width: 20%;
	}
 
/*
 *  
 */
 
	ul.dropdown ul a {
                padding: 4px 5px 4px 14px;
	 width: 100%; /* Especially for IE */ /* size selected link background */
	}
 
	ul.dropdown ul a:hover {
	 background-color: #cae001; /* yellow */
	color: #3c3f3e; /* darkess grey */
	}
 
	ul.dropdown a.open {
	 background-color: #3c3f3e;
	 color: #fff;
	}
 
	ul.dropdown ul a.open {
	 background-color: #3c3f3e;
	 color: #fff;
	}
 
 
	/* CSS 2.1 */
 
	ul.dropdown li:hover > a.dir {
	 background-color: #2e2e2e; 
	 color: #f1771d;
	  /* orange */
	}
 
	ul.dropdown ul li:hover > a.dir {
	 background-color: #76b900;
	 color: #fff;
	}

Comment faire en sorte que "a" soit de la meme largeur (width) que li ou ul ?
gayahela est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 12h06   #5
Rédacteur/Modérateur
 
Homme Jérome Debray
Responsable de projet
Inscription : mai 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Jérome Debray
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Responsable de projet
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 627
Points : 3 064
Points : 3 064
au niveau de ta CSS, il faut modifier une chose

à la place de :
Code :
1
2
3
4
5
 
ul.dropdown ul a {
       padding: 4px 5px 4px 14px;
       width: 100%; /* Especially for IE */ /* size selected link background */
}
met:

Code :
1
2
3
4
 
ul.dropdown ul a {
       display:block; /* Especially for IE */ /* size selected link background */
}
cela devrait être suffisant
ornitho13 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/12/2010, 17h50   #6
Invité régulier
 
Inscription : octobre 2010
Messages : 36
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 36
Points : 9
Points : 9
Je te remercie
Encore une fois ton message m'a bien aide.
Concis et precis, parfait.
gayahela est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h56.


 
 
 
 
Partenaires

Hébergement Web