28114 sujets

CSS et mise en forme, CSS3

Bonjour à tous,

voilà je dois faire des boutons pour un générateur de formulaire, donc je fais mes boutons avec des "type=button" classique et je leur met une image de fond dans ma feuille de style:

background:url(image.gif)


Sous Ie et FF tout va bien mais sous Safari, l'image ne s'affiche pas, il me met les boutons par défaut de safari...
quelle problème me direz-vous? et bien autour de ce bouton j'affiche des images (à gauche et à droite) pour "finir" le bouton... car mon image de fond ne fait que 1px de large afin que la taille de l'image s'adapte au contenu du "value" du bouton... Smiley confus

donc comme Safari n'aime pas les images de fond dans le bouton, je feinte en remplaçant le bouton par un lien auquel je met ma classe avec l'image de fond...
en gros, mon bouton:

<img src="image-gauche.gif" class="vam" width="9" height="25" /><a href="#" class="validation">annuler</a><img src="image-droit.gif" alt="" class="vam" width="9" height="25" />


les classes utilisées:

a.validation  { color:#FFF; cursor:pointer; background:url(../image/bouton/validation-centre.gif) repeat-x; text-decoration:none; text-transform:uppercase; padding:6px 0px 9px 0px; line-height:25px; border:0px; vertical-align:top; margin:0px }
a.validation:hover  { color:#FF6600; cursor:pointer; background:url(../image/bouton/validation-centre.gif) repeat-x; text-decoration:none; text-transform:uppercase; padding:6px 0px 9px 0px; line-height:25px; border:0px; vertical-align:top; margin:0px }
* html a.validation {padding:6px 0px 9px 0px; vertical-align:middle}
* html a.validation:hover {padding:6px 0px 9px 0px; vertical-align:middle}


Et là sous Ie et FF, ben tout marche niquel aussi à part des petits décalages que j'adapte dans ma css en fonction des deux...
sous Safari, tout s'affiche (ouais c'est cool Smiley lol ) mais avec un décalage entre le lien et ces images... Smiley biggol
upload/8730-resultat.gif

Donc ma question, après avoir raconté ma vie, est:

comment afficher une image de fond dans un bouton sous Safari ou comment corriger l'alignement?

En vous remerciant d'avance...
Modifié par Ryukisai (30 Sep 2006 - 11:59)
Ryukisai a écrit :
comment afficher une image de fond dans un bouton sous Safari ?

A peut pas. Donc on se replie vers une solution :
1 - plus simple à mettre en œuvre ;
2 - ergonomiquement plus efficace.

Cette solution, c'est de laisser Safari utiliser son style par défaut (et dans une certaine mesure faire la même chose pour les autres navigateurs).


Sinon, on peut aussi tenter d'utiliser un input de type image, mais je ne sais pas si c'est jouable pour un bouton annuler (le bouton annuler est un submit ou un reset ?).
Salut mpop et merci pour la réponse

en fait les boutons doivent respecter une charte graphique donc utiliser les boutons du navigateur par défaut n'est pas trop souhaité...
par contre j'ai essayé un input type=image et là Safari a aligné de lui-même les images et le bouton... Smiley confus

visiblement le input type=image lui permet de tout bien aligner... bizarre...
en tout cas merci bien pour l'idée, je vais creuser ça
Smiley jap
Ryukisai a écrit :
en fait les boutons doivent respecter une charte graphique donc utiliser les boutons du navigateur par défaut n'est pas trop souhaité...

C'est le genre de situation où il faut penser à changer de graphiste. Smiley cligne