28172 sujets

CSS et mise en forme, CSS3

Bonsoir à tous !
En 2 mots... : un texte en arrière plan et un div avec background transparent au premier plan. Le div survole donc le texte. Le prb est que le div rend les liens inactifs. Et la mise en place d'un z-index:2 pour le texte et z-index:1 pour le div ne change rien. Y'a t'il un truc ? Merki ! Bonne soirée. Smiley cligne
Modifié par Zucchero (03 Nov 2010 - 22:04)
Salut,

Le problème c'est que ton images couvre la surface qui est la sienne, que les pixels soient colorés ou transparents. Il est donc normal que tes liens soient inaccessibles, du coup.

Il faudrait utiliser une autre solution vis à vis de ton code et design pour éviter cela.

Peut-être faudrait-il que tu nous fournisse le code html et css ou carrément mieux, une page en ligne pour pouvoir t'aider en te proposant des solutions alternatives. Smiley cligne
Merci pour ta réponse Mikachu.
La page en ligne : http://www.mon-site.com
En bas de page, à la hauteur du logo "plus beaux villages...". Les liens deviennent inactifs.
Merci encore.
Modifié par Zucchero (04 Nov 2010 - 09:10)
bonsoir.

Pour rendre un z-index opérant , il ne faut pas laisser l'élément en position:static; qui est une valeur par défaut.

Le positionnement relatif permet d'en faire usage.

par exemple:
.textLeading {position:relative;z-index:2}

Un index superieur de 1 a #floral suffit.
Les liens , sélection de texte ou clic dans un formulaire ne devrait plus être un soucis. Smiley smile

GC
Bonjour à tous et merci pour la qualité des contenus diffusés sur ce site.
Un big up également aux experts qui prennent le temps de répondre aussi efficacement, sur ces forums.

Alors, je viens au sujet d'un pb de sous menu qui se referme un peu tôt sous IE, mais uniquement lorsque le module "Affichage de compatibilité" est activé.

Sur la page http://www.xtrembysylphe.com/prod_fonctions.htm vous pouvez observer un menu déroulant dont le survol de l'option Produits affiche un sous menu. Il se trouve que ce div se referme dès le survol du <div id="page">, me semble-t-il. Impossible d'atteindre l'option Fonctions, par exemple.

J'ai pourtant affecté les style suivants aux conteneurs parents:

#nav {position: relative; z-index: 99; ...} et #page {position: relative; z-index: 0; ...}.

Voilà, je poursuis mes recherches de mon côté,
mais si qqun pouvais me filer un p'tit coup de pouce, ce s'rait pas de refus.

D'avance merci.
Soundy

PS : Je précise que je fais ce site bénévolement pour un ami qui compte distribuer ces trottinettes de descente. Il souhaitera ensuite se doter d'une véritable boutique en ligne, mais je le dirigerai alors vers un prestataire spécialisé pour ce faire.
Salut Soundy,

Je pense que tu as plutôt un souci dans le javascript de ton menu. Tu devrais soumettre ton code dans la rubrique prévue à cet effet.
Merci Hchtot pour ta réponse.

Euh... pourtant, en modifiant mon .css comme suit, le problème disparait...

avant : #menuDeroulant .sousMenu {position:relative; ...}

après : #menuDeroulant .sousMenu {position:absolute; + paddin left adapté...}

Je suis bien conscient que celà ne règle pas totalement le pb (si je souhaite d'autres sous-menus par exemple...) mais, je crois en conclure que ce n'est pas un pb javascript.

Toutefois, je suis preneur de plus de précisions sur ta réponse.
[Edit 17h52: J'ai corrigé le code du lien index en ajoutant le </li>à la fin.]

D'avance merci.
Soundy
Modifié par Soundy (07 Nov 2010 - 17:59)
J'ai dû mal à voir comment ça pouvait marcher avant. Pour que ton sous-menu passe par-dessus le reste du site, il fallait bien le mettre en position absolute à un moment ou à un autre. Il faudrait que tu postes l'intégralité de ton code (html + css + javascript) pour qu'on y voit plus clair dans cette affaire !
Re...
T'es vraiment sûr ?
Ca va pas faire beaucoup (très beaucoup !) de code ?

Avec Firebug, on voit tout ce qui est nécessaire non ?

En tout cas, merci de te pencher sur mon pb.
Soundy
Ce qui me perturbe, c'est que d'un point de vue html/css ton menu est assez simple : une imbrication de ul li en position absolute avec un peu de mise en forme. Le reste, c'est javascript qui s'en charge. Avec firebug, je vois bien le fichier nav.js qui affiche le menu, mais je ne vois pas le code qui permet de dérouler le menu.
Alors :
le HTML :

<body onLoad="setCurrentLink();">
<div id="main">
<div id="header">
<a href="index.htm">
<img class="imgNoBorder" width="214" height="100" src="interf/logo.png" align="left" alt="Logo Xtrem by Sylphe"></a>
<div id="nav"><script type="text/javascript" src="js/nav.js"></script></div>
</div>
<div id="page">[...]/<div>.../<html>

le nav.js :
document.write ('<ul id="menuDeroulant">');
document.write ('<li><a href="index.htm" id="index">Accueil</a></li>');
document.write ('<li><a href="prods.htm" id="prods">Produits</a>');
document.write ('<ul class="sousMenu">');
document.write ('<li><a href="prod_summit.htm" id="prod_summit">Summit</a></li>');
document.write ('<li><a href="prod_kibo.htm" id="prod_kibo">Kibo</a></li>');
document.write ('<li><a href="prod_cross.htm" id="prod_cross">Cross</a></li>');
document.write ('<li><a href="prod_rock.htm" id="prod_rock">Rock</a></li>');
document.write ('<li><a href="prod_solo.htm" id="prod_solo">Free Solo</a></li>');
document.write ('<li style="padding-top:1em;"><a href="prod_fonctions.htm" id="prod_fonctions">Fonctions</a></li>');
document.write ('</ul></li>');
//document.write ('<li><a href="photos.htm">&nbsp;Photos&nbsp;</a></li>');
document.write ('<li><a href="videos.htm" id="videos">Vidéos</a></li>');
document.write ('<li><a href="contact.htm" id="contact">Contact</a></li>');
//document.write ('<li><a href="liens.htm">Liens</a></li>');
document.write ('</ul>');

Le nav.css :
#menuDeroulant, #menuDeroulant .sousMenu {
border: 0 none;
list-style-type: none;
margin: 0;
padding: 0;
left: 0;
}
#menuDeroulant {
width: 400px;
overflow: hidden;
}
#menuDeroulant .sousMenu {
display: none;
position: relative;
background: #000000;
}
#menuDeroulant li {
float: left;
margin: 0;
}
#menuDeroulant .sousMenu li {
float: none;
}
#menuDeroulant li a, #menuDeroulant .sousMenu li a {
display: block;
height: 1.4em;
margin: 0;
padding: 0em 1em;
text-decoration: none;
border: 0 none;
}
#menuDeroulant li a {
border-right: 1px dotted #666666;
}
#menuDeroulant .sousMenu li a {
padding: 0em 0em 0em 1em;

}
#menuDeroulant li a:hover {
background-color: #CCCC33;
}
#menuDeroulant li:hover > .sousMenu {
display: block;
}
bonjour,

essai de donner une largeur au sous menu (width:XX;) ainsi qu'aux item de liste ou un simple (zoom:1;).

(rechercher haslayout et defaut li dans IE6 par exemple)

GC
YES !!! Merci à toi GC-Nomade.
C'est bien en fixant une largeur au sous menu que ce comportement cesse.

Peux-tu me dire en deux mot ce qui gêne, IE là-dedans ???
J'ai l'impression de donner une largeur fixe à un <td> en faisant ça,
et ça m'embête un peu...


@ hchtot :Je pense que c'est ça qui se charge d'afficher le sous menu :
#menuDeroulant .sousMenu {display: none; position: relative;...}
#menuDeroulant .sousMenu li {float: none;} +
menuDeroulant li:hover > .sousMenu { display: block;} en toute fin de fichier.

Je te confirme que je n'ai pas fixé de position : absolute et que je n'utilise pas d'autre .js pour le menu.
C'est d'ailleurs pour ça que je l'ai choisi... 8-)
Le tuto source est là http://www.marcarea.com/tuto/


Bonne continuation à tous.
Soundy
Bonjour,

Un point de méthode: Soundy, il aurait fallu créer un nouveau sujet (le tien...) plutôt que de poursuivre le sujet de Zucchero (celui-ci...) portant sur un problème différent.
Bien sûr, les deux problèmes ont peut-être un point commun ou deux... mais on a des dizaines de milliers de sujets sur ce forum, et on peut toujours leur trouver des points commun. Si on met tout dans les mêmes sujets, c'est vite ingérable.

Merci d'y penser pour la prochaine fois. Smiley smile
Oui oui, j'avais parcouru ton code un peu vite. Excuse moi de t'avoir induit en erreur.
Ok, pas de souci.
J'avais juste raisonné dans l'autre sens, et j'ai posté ici pour ne pas surcharger le forum, en pensant vraiment que c'était un pb de z-index.
Désolé, je le f'rai plus... promis.
@+ Soundy
Modifié par Soundy (11 Nov 2010 - 19:14)