28172 sujets

CSS et mise en forme, CSS3

Bonjour,

j'ai un gros problème avec mes formulaires sous Internet Explorer. Je veux que le texte de mes listes déroulantes soit centré, c'est le cas sous Mozilla et Opera mais sous Internet Explorer et Safari, le résultat n'est pas celui que je veux, le texte commence net à gauche.

Voici le code css que j'utilise pour formater mon champs SELECT :
div#content_pack select{
background-color: #FDBC06;
width: 170px;
color: #FFFFFF;
font-weight: bold;
text-align: center;
}[code]

Tout fonctionne bien, à part le text-align qui ne s'applique pas correctement dans les navigateurs IE et Safari.

Quelqu'un aurait une solution à mon problème?

Merci d'avance pour vos contributions. upload/21133-centrertex.gif
Bonjour,

Florent V. ayant déjà fourni une réponse qui reste toujours d'actualité, je repompe :
Florent a écrit :

Bonjour,
Pas d'image de fond, couleur de fond, couleur de texte, padding ou autres styles CSS pour les SELECT/OPTION. Il n'y a pas une propriété qui passe à la fois dans Internet Explorer, Firefox, Safari et Opera. Il faut utiliser le style brut des SELECT, et basta. Même chose, dans une large mesure, pour les INPUT de type radio et checkbox. Les autres éléments de formulaire sont généralement plus aisés à styler, même si on peut rencontrer des difficultés.

Le seul moyen d'avoir des SELECT, radio et checkbox personnalisés, c'est de les simuler en HTML (avec des éléments neutres tels que des SPAN)+CSS+JavaScript. Ça donne généralement du bricolage casse-gueule et peu ou pas accessible. Il me semble qu'il y a un script JS qui fait ce genre de choses plutôt correctement malgré tout (par contre je doute que ça soit accessible), mais je ne l'ai plus en tête.


Cette actu de Raphael mérité également un coup d'oeil (et même les deux Smiley cligne ) :
Comment ne pas styler les éléments de formulaire ?

Bonne continuation,
Cdt,
Sylvain
Merci pour vos réponses. C'est quand même dommage de ne pouvoir les formater à tous les niveaux car face à des clients hyper exigents, ça devient très difficile.