28173 sujets

CSS et mise en forme, CSS3

Bonjour à tous !

Je débute tout juste dans l'univers du xHTML et du CSS, et je me suis fixé comme challenge de créer mon premier site en utilisant le bloc note seul (ainsi que toshop pour la partie images).

Je me suis certainement un peu compliqué la vie, et j'ai du faire quelques concessions. Et interdire l'accès aux utilisateurs de IE, vu que j'ai utilisé plusieurs png24 (j'vais me faire taper sur les doigts, mais je n'ai pas trouvé d'autres solutions pour gérer une transparence correcte).

Et là, je me heurte à un problème lié à mon menu. J'ai structuré ce dernier à l'aide d'une liste :


<div id="menu">
      <div class="menu1">
         <br></br>
	     <br></br>
         <ul>
<li class="introduction"></li>
<li class="test"></li>
<li class="personnages"></li>
<li class="equipement"></li>
<li class="vehicules"></li>
<li class="planetes"></li>
<li class="cheminement"></li>
<li class="astuces"></li>
<li class="boulonsor"></li>
<li class="competence"></li>


J'ai ensuite indiqué en CSS pour chaque partie de la liste :
  .introduction
{
   width: 175px;
   height: 31px;
   background-image: url("images/menu_introduction.gif");
   background-repeat: no-repeat;
   margin-left: -31px;
 }
   

Cette méthode m'a permis de mettre en place un :hover, avec un effet de surbrillance (en changeant l'image du background) lorsque la souris effleure le menu. Bref, au niveau du design, j'ai réussi à faire ce que je voulais. Mais au moment de rajouter mon lien et d'enfin rendre mon menu fonctionnel, ô stupeur, impossible de le faire, et pour cause : ma liste est vide, sur quoi pourrais-je appliquer mon lien ? (mon menu étant en fait une série de background).

Voilà. On en arrive à ma question : y'a-t-il une solution ? J'ai lu un topic sur ce forum qui sous entendait que de tels liens "invisibles" - sur le background ? - étaient réalisables, bien que peu recommandés (car encore assez mal gérés ?). Dans mon cas, vu que je suis parti pour faire quelque chose qui ne fonctionneras définitivement pas sous IE, pourrais-je me le permettre ? Mon choix est très discutable j'en convient, je ferme l'accès à mon site à 60% des internautes... mais disons que je réfléchirais à une version IE si le premier jet rencontre un semblant de succès.

En vous remerciant d'avance de votre aide
Gelco
Modifié par Gelco (10 Apr 2007 - 01:24)
Salut.

La solution privilégiée pour ce genre de menus passe par javascript (non n'ayez pas peur c'est pas compliqué!). Dans le code html, on place l'image de base, dans un lien, dans le li. Puis avec javascript on change cette image en rollover (scripts faciles à trouver sur google). Le grand avantage est que l'image se trouve directement dans le code html.

Sinon en css, il faut placer un lien dans tes li puis le déplacer avec un
text-indent:-5000px;
par exemple. D'autre part si tu veux faire un effet de rollover en css, l'effet doit se trouver sur un a car IE ne reconnaît pas cette pseudo-classe sur les autres éléments.
Gelco a écrit :


Je me suis certainement un peu compliqué la vie, et j'ai du faire quelques concessions. Et interdire l'accès aux utilisateurs de IE, vu que j'ai utilisé plusieurs png24 (j'vais me faire taper sur les doigts, mais je n'ai pas trouvé d'autres solutions pour gérer une transparence correcte).


Tu m'étonnes que tu vas te faire taper sur les doigts, dans un forum lié à l'ACCESSIBILITé, tu nous dit ignorer près de 70% Des internautes !!! Smiley eek

Il existe des solutions pour gérer la transparence sur IE6 et les png 24 fonctionnent sur IE 7.

Il te suffit de créer une feuille de style alternative pour gérer la transparence sur IE 6

Une petite recherche sur ce forum ou notre ami gg t'en apprendront plus.

Bon courage
ps :
a écrit :
ma question : y'a-t-il une solution ? J'ai lu un topic sur ce forum qui sous entendait que de tels liens "invisibles" - sur le background ? - étaient réalisables, bien que peu recommandés (car encore assez mal gérés ?)


Recherche du côté des Div cliquables et des Rollover en CSS je crois que c possible sans Javascript
allez un petit coup de pub :

j'ai il y a quelques temps expliqué la démarche que j'ai utilisé pour faire un menu 100% en image mais qui soit à la fois accessible pour les personne qui désactivent le css, le tout sans javascript, tu trouveras solution à ton problème ici :
http://www.seebz.be/blog/3-un-menu-design-en-css.html

(ou alors j'ai pas bien cerné ton problème)