IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

simulation de boutons en CSS


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 20
    Par défaut simulation de boutons en CSS
    Bonjour à tous,

    Je débute en programmation et depuis hier je suis face à un problème insoluble.

    Je tente de simuler des boutons. C'est à dire que j'ai créé dans Photoshop, trois états de boutons pour chacun de mes liens de menu. Jusque là rien de compliqué.

    Ensuite, comme je veux les aligner horizontalement sur deux lignes (trois icones par ligne), j'ai créé un tableau, pour que cela soit plus simple et tienne en place, seulement, comme je voulais décaler les deux lignes j'ai créé un <table id= "ligne1" ></table> et un <table id= "ligne2" ></table>.

    J'ai ensuite créé trois cases par ligne avec les dimensions souhaitées et inséré mes liens vers les autres pages. Jusque là rien de compliqué.

    Là où ça se complique c'est quand j'insère mes images en CSS, j'en ai mis une à l'état a, une à l'état hover et une à l'état focus et tout ce qui apparait c'est l'image à l'état hover et sans aucun lien possible.

    De plus, j'ai découvert que ces images avaient infesté tous mes liens alors qu'apparemment j'ai bien défini LE lien en question et non pas TOUS les liens.


    Code 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
     
    	<!-- menu -->
    		<table id= "ligne1" >
    			<tr>
    				<td class= "acceuil"><a href= "index_new.php"></a></td>
    				<td class= "formation"><a href= "./pages/formation.php"></a></td>
    				<td class= "experience"><a href= "./pages/experience.php"></a></td>
    			</tr>
    		</table>
     
    		<table id= "ligne2" >
    			<tr>
    				<td id= "informatique"><a href= "./pages/informatique.php"></a></td>
    				<td id= "langues"><a href= "./pages/langues.php"></a></td>
    				<td id= "divers"><a href= "./pages/divers.php"></a></td>
    			</tr>
    		</table>
    Code 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
     
    td, .acceuil, a
    {
    	background: url("../boutons/btacceuilnul.png") no-repeat ;
    }
     
    td, .acceuil, a :hover
    {
    	background: url("../boutons/btacceuilhover.png") no-repeat ;
    }
     
    td, .acceuil, a :focus
    {
    	background: url("../boutons/btacceuilclic.png") no-repeat ;
    }
    ... le code est ensuite le même pour chaque onglet de mon menu.

    Aidez moi s'il vous plait, je craque !!!!

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de Damouille
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Par défaut
    Attends avant de jeter ton ordi par la fenetre. Je pense que ton problème n'est pas insoluble.

    Tout d'abord la syntaxe de ton css n'est pas bonne. c'est normal que le style s'applique à tous les liens.

    les class ou élément séparé par des virgules prennent individuellement le style. Dans ton cas, tu appliques le style à tous les td, tous les .acceuil, tous les a.

    Si tu veux préciser un chemin sépare jsute par des espaces

    Ici, le style ne s'applique qu'au <a> qui sont dans un élément .acceuil qui se trouve dans un td.

  3. #3
    Membre expérimenté Avatar de Damouille
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Par défaut
    tout ce qui apparait c'est l'image à l'état hover et sans aucun lien possible.
    La aussi c'est normal. il ne faut pas d'espace entre a et :hover.

  4. #4
    Membre expérimenté Avatar de Damouille
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Par défaut
    Enfin,

    le :focus ne fonctionne pas sous IE. Utilise plutot le :active.

    D'ailleurs je vois pas trop la différence entre ses deux pseudo classes

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 20
    Par défaut
    Merci beaucoup Damouille pour cette réponse supra rapide,

    Effectivement les images n'apparaissent plus sur tous mes liens, remarque je suppose que c'est normal puisqu'ils n'apparaissent plus du tout !!!!! Même dans mes cases !

    Je vais donc poursuivre mes investigations et y passer une nuit supplémentaire !

    D'ailleurs en parlant d'hover, j'ai mis également une photo toute simple que je veux faire changer par simple passage de la souris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class= "identite"></div>
    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
     
    .identite
    {
    	z-index: 10 ;
    	background: url("../images/identitestyle.png") no-repeat ;
    	display: block ;
    	width: 184px ;
    	height: 184px ;
    	margin-left: -80px ;
    	margin-top: -10px ;
    	float: left ;
    }
     
    .identite:hover
     
    {
    	z-index: 10 ;
    	background: url("../images/identite.png") no-repeat ;
    	width: 184px ;
    	height: 184px ;
    	margin-left: -80px ;
    	margin-top: -10px ;
    	float: left ;
    }
    Mais c'est toujours pareil, que ce soit Mozilla ou IE, rien ne fonctionne comme je veux, ceci dit, je n'ai jamais réussi à faire fonctionner cette fonction hover, pourtant elle m'intéresse énormément, la seule fois où j'ai réussi à obtenir un résultat, il ne fonctionnait que sous IE et pas Mozilla.

    J'ai déjà vu dans un forum, qu'il fallait utiliser la fonction CSS "display: block" mais je ne sais aps quelle utilité elle a...

    Merci encore et avis à tous, jusque là tout fonctionnait plutôt bien mais là j'y passe mes nuits et rien ne fonctionne, c'est un peu vexant !!!!

  6. #6
    Membre émérite Avatar de c_s_s
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 619
    Par défaut
    Bonjour Audrey,

    Pour le dernier cas que tu exposes, il y a 2 ou 3 petits détails qui ne sont pas graves mais autant prendre de bonnes habitudes.

    L'espace entre class= et "identite" n'a pas lieu d'être.

    <div class= "identite"></div> ---> <div class="identite"></div>

    D'une manière générale, pas besoin de mettre d'espace après le signe =


    Dans ton CSS, les guillemets ne sont pas utiles pour l'URL de l'image.

    background: url("../images/identitestyle.png") no-repeat ; ---> background: url(../images/identitestyle.png) no-repeat;


    Ensuite, il faut savoir que la propriété :hover ne fonctionne que sur un lien avec IE6.
    Là, comme tu utilises le :hover sur un div, ça ne fonctionnera pas avec IE6.


    Lorsque tu mets une images de fond sur un lien (a), il faut penser à définir le lien comme un élément de type block (display:block) en précisant une largeur et une hauteur, sinon tu risques de ne pas voir l'image de fond dans sa totalité.


    As-tu une page en ligne pour tenter de trouver pourquoi tes images ne s'affichent pas ?
    Tu as vérifié les URL, les noms de dossiers, les noms d'images, les extensions ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Simulation du bouton Parcourir sur un input file
    Par mego dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 02/08/2006, 19h44
  2. [Vb.NET]simulation de bouton lors de la touche entrée
    Par Monstros Velu dans le forum ASP.NET
    Réponses: 2
    Dernier message: 13/04/2006, 09h34
  3. Probleme bouton + id + css
    Par Seth77 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 11/04/2006, 16h32
  4. Simuler le bouton réinitialiser via un autre bouton ?
    Par beegees dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 28/02/2006, 10h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo