css : decalage de span.

css : decalage de span. - HTML/CSS - Programmation

Marsh Posté le 03-10-2005 à 23:00:28    

Je presume que le sujet a déjà été posé, mais je n'ai pas réussi à trouver de solution.
 
J'ai une liste qui me permet de faire un menu.  

Code :
  1. <div id="sousMenu">
  2.       <ul>
  3.         <li id="fdc">
  4.           <a href="#"><span>Fond de commerce</span></a>
  5.         </li>
  6.         <li id="imo">
  7.           <a href="#"><span>Immobilier</span></a>
  8.         </li>
  9.         <li id="nag">
  10.           <a href="#"><span>Notre agence</span></a>
  11.         </li>
  12.         <li id="con">
  13.           <a href="#"><span>Contacts</span></a>
  14.         </li>
  15.         <li id="lre">
  16.           <a href="#"><span>La region</span></a>
  17.         </li>
  18.         <li id="vev">
  19.           <a href="#"><span>Vous etes vendeurs</span></a>
  20.         </li>
  21.       </ul>
  22.     </div>


 
En css j'affecte des images aux liens, et grace au hover, je les change lors du survol.  
En m'inspirant du tuto de masklinn (http://forum.hardware.fr/hardwarefr/Programmation/Tutoriel-menus-rollover-images-irregulieres-rollovers-distance-sujet-64743-1.htm),  j'ai ajouté un span pour faire disparaitre le text du menu. Hors, sous ie6, un décalage apparait entre les éléments de la liste. Ce décalage n'apparait pas sous firefox. Si je ne mets pas le display à none sur le span, le décalage n'apparait pas, mais le text est visible sur l'image (pas énormement, c'est seulement visible sur les hover, sur la partie "ticked" des images).
 
Je ne dois pas être très loin de la solution, mais j'ai besoin d'être aiguillé vers la solution.
 
Les pages sont disponible là : http://www.e-sysoft.net/albaV2/index2.php (avec le display block)  
et là http://www.e-sysoft.net/albaV2/index.php avec le display:none).
 
Par avance merci, Fred.
 
 
 
 

Reply

Marsh Posté le 03-10-2005 à 23:00:28   

Reply

Marsh Posté le 04-10-2005 à 00:45:30    

Pourrais-tu afficher la partie CSS concernée, afin qu'on puisse se rendre compte de ce que tu as fait ?


---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
Reply

Marsh Posté le 04-10-2005 à 00:50:42    

le css est dans les pages  html. Je ne l'ai pas mis dans mon post pour ne pas le surcharger. Mais si vous preferez:
 
Position & géométrie du div contenant le menu

Code :
  1. #sousMenu
  2. {
  3. position: absolute;
  4. top:  134px;
  5. left: 10px;
  6. width: 150px;
  7. height:460px;
  8. background-color: transparent;
  9. }


le conteneur de la liste

Code :
  1. #sousMenu ul
  2. {
  3. display: block;
  4. position:absolute;
  5. margin: 0;
  6. padding: 0;
  7. list-style-type: none;
  8. }


 
le lien est definit pour prendre toute la place possible. Les images font en majorité 51px de haut.

Code :
  1. #sousMenu a
  2. {
  3. display: block;
  4. color: #3E88C6;
  5. width: 150px;
  6. height:51px;
  7. text-decoration: none;
  8. }


 
 
Ne change pas le comportement du menu, reste de mes tentatives...  

Code :
  1. #sousMenu a:hover
  2. {
  3. display: block;
  4. background-color: #3E88C6;
  5. }


 
Exemple avec le display none sur le span.  

Code :
  1. #sousMenu  ul li a span {
  2. display:none;
  3. margin: 0;
  4. padding: 0;
  5. }


 
 
 
les images de font sont affectées pour le hover et pour le reste. On ajuste la taille des éléments dont l'image est plus petite que les autres.

Code :
  1. #fdc {
  2. background: transparent url(./img/fdc1.gif) no-repeat left top;
  3. }
  4. #fdc a{
  5. height:47px;
  6. }
  7. #fdc a:hover {
  8. background: transparent url(./img/fdc2.gif) no-repeat left top;
  9. }
  10. #imo {
  11. background: transparent url(./img/immo1.gif) no-repeat left top;
  12. }
  13. #imo a {
  14. height:45px;
  15. }
  16. #imo a:hover{
  17. background: transparent url(./img/immo2.gif) no-repeat left top;
  18. }
  19. #nag {
  20. background: transparent url(./img/agen1.gif) no-repeat left top;
  21. }
  22. #nag a:hover{
  23. background: transparent url(./img/agen2.gif) no-repeat left top;
  24. }
  25. #con {
  26. background: transparent url(./img/contact1.gif) no-repeat left top;
  27. }
  28. #con a:hover{
  29. background: transparent url(./img/contact2.gif) no-repeat left top;
  30. }
  31. #lre {
  32. background: transparent url(./img/region1.gif) no-repeat left top;
  33. }
  34. #lre a:hover {
  35. background: transparent url(./img/region2.gif) no-repeat left top;
  36. }
  37. #vev {
  38. background: transparent url(./img/vendeur1.gif) no-repeat left top;
  39. }
  40. #vev a:hover{
  41. background: transparent url(./img/vendeur2.gif) no-repeat left top;
  42. }


 
 
l'autre css est strictement le même au display près.


Message édité par fred_p le 04-10-2005 à 08:55:57
Reply

Marsh Posté le 04-10-2005 à 11:04:19    

Bon, ben j'ai mis en place une css pourrie pour palier au problème.  
 

Code :
  1. #sousMenu  ul li a span {
  2. display:block;
  3. line-height:45px;
  4. font-size:0.1em;
  5. text-align:right;
  6. margin: 0;
  7. padding: 0;
  8. }


 
le text est affiché en tout petit à droite. Dans la topologie particulière de mon cas, on ne le voit pas. Je trouve cette solution d'un crade à tout épreuve, mais faute d'aide, c'est tout ce que j'ai pu faire.  
 
Merci quand même.

Reply

Marsh Posté le 04-10-2005 à 11:09:26    

Hello,
 
Tu as d'autres solutions ici :
http://blog-and-blues.org/weblog/2 [...] e-en-image
 
Pour ma part, j'utilise souvent un simple text-indent: -5000em;


Message édité par sibelius le 04-10-2005 à 11:10:10

---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
Reply

Marsh Posté le 04-10-2005 à 11:18:45    

la technique du text-indent c'est vraiment la technique la plus simple car le Span c'est seulement utile si au passage du lien on  a du text à afficher.

Reply

Marsh Posté le 04-10-2005 à 11:25:10    

exact dans ce cas


---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed