Incompatibilité entre IE et Firefox

Eléphant du PHP | 259 Messages

06 nov. 2007, 12:25

Bonjour,

J'ai des petits problémes de compatibilité entre IE et firefox sur différents points !

Le 1er le scrollbar sur Firefox n'est pas coloré, comment faire pr que Firefox prend en compte la feuille de style ?

Ensuite les bordure des mes tableaux sont blanc sous Firefox et sur IE non, comment faire pour afficher les bordure coloré sur Firefox ?

Et dernier probléme, quand j'ai un bouton grisé ( disabled="disabled" ) sur IE c'est correct mais sous Firefox ça affiche le bouton normalement (non grisé), que faut-il faire ??

Merci d'avance pour vos réponses.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

06 nov. 2007, 12:40

Bonjour,
Le 1er le scrollbar sur Firefox n'est pas coloré, comment faire pr que Firefox prend en compte la feuille de style ?
C'est normal, la coloration des scrollbars est une propriété CSS inventée de toute pièce par Microsoft qui n'est pas standardisée. Ce n'est donc pas possible à réaliser avec Firefox/Opéra ou Safari.
Ensuite les bordure des mes tableaux sont blanc sous Firefox et sur IE non, comment faire pour afficher les bordure coloré sur Firefox ?
La propriété border-color en CSS probablement mais il nous faut un exemple de ton code pour comprendre le problème :)
Et dernier probléme, quand j'ai un bouton grisé ( disabled="disabled" ) sur IE c'est correct mais sous Firefox ça affiche le bouton normalement (non grisé), que faut-il faire ??
Vérifie ton code car chez moi le code suivant:

Code : Tout sélectionner

<form> <input type="button" value="Test" disabled="disabled" /> </form>
Me donne bien un bouton désactivé sous Firefox.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 259 Messages

06 nov. 2007, 12:51

oui pr le bouton grisé ça marche, il y avait une petite faute ds le code.

Sinon voici mon code pour le tableau qui n'affiche pas les bordure sous Firefox :

Code : Tout sélectionner

<center><TABLE STYLE="background-image: url(images/space2.gif)" valign=middle width="52%" BORDER="1" bordercolor="#336633"> <TR><TD align="center" valign=middle class="text">texte</TD></TR> <TR><TD align="center" valign=middle class="text">texte2</TD></TR> <TR><TD align="center" valign=middle class="text">texte3</TD></TR> </center></table>
l'image de fond c'est ok ça s'affiche sous IE et Firefox par contre la couleur de la bordure ne s'affiche que sous IE.

J'ai essayé avec

Code : Tout sélectionner

border-color="#336633"
et ça met les bordures transparent sous IE aussi.

ViPHP
ViPHP | 4039 Messages

06 nov. 2007, 12:54

les attributs css "scrollbar- " ne sont utilisables que par IE.

Et le reste, ce ne sont que quelques bidouilles à faire sur ta feuille de style.

Tu ne savais pas que les navigateurs aiment bien interpreter différamment le CSS, et proposer leur propres attributs ? Si c'est le cas, tu vas bien t'amuser

EDIT: un peu tard, dsl.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Mammouth du PHP | 2937 Messages

06 nov. 2007, 13:09

L'attribut border-color n'existe pas en HTML.

En outre, supprime l'attribut border="1" pour voir ce que ça donne.

Eléphant du PHP | 259 Messages

06 nov. 2007, 13:28

si j'enléve l'attribut border="1" il n'y a plus de bordure sous les 2 navigateurs.

Mammouth du PHP | 2937 Messages

06 nov. 2007, 13:36

si j'enléve l'attribut border="1" il n'y a plus de bordure sous les 2 navigateurs.
Dans ce cas, dans ton fichier CSS, mets la règle suivante :

Code : Tout sélectionner

table { border: 1px #363; }

Eléphant du PHP | 259 Messages

06 nov. 2007, 13:40

ça ne change rien..toujours pas de bordure dans les 2 navigateurs ! :(

Mammouth du PHP | 19672 Messages

06 nov. 2007, 15:43

si j'enléve l'attribut border="1" il n'y a plus de bordure sous les 2 navigateurs.
Dans ce cas, dans ton fichier CSS, mets la règle suivante :

Code : Tout sélectionner

table { border: 1px #363; }
Et le type ?
Lorsqu'on concatène avec la simple propriété "border", on doit préciser.

Soit on utilise border-width + border-color + border-type soit border tout court
Dans ce dernier cas, on précisera la dimension incluant l'unité de mesure, le type et la couleur.
Donc :

Code : Tout sélectionner

table { border: 1px solid #363; }
Si on ne précise pas le type, on prend le risque d'une interprétation par défaut dépendant du développeur qui aura implémenté l'interprétation des CSS par le navigateur utilisé.

Pour revenir plus en détail sur le sujet de départ, il y a des différences entre la manière de faire en CSS et en HTML pour les bordures dans les tableaux.

En (X)HTML, l'attribut border de la balise <table> concerne toutes les cellules du tableau alors qu'en CSS, la propriété border sur l'élément table ne concerne que le tableau, pas les cellules qui le composent.

Si on veut ajouter en CSS une bordure aux cellules, alors il faut pointer sur les cellules (td ou th)

Ça va donner :

Code : Tout sélectionner

td { border: 1px solid #363; }
Si toutefois on ne veut ajouter la bordure qu'à un des tableaux en particulier sur une page, il faut pouvoir identifier ce tableau en particulier, la balise <table> devra donc avoir un attribut id ou à tout le moins une classe CSS.

Code : Tout sélectionner

table.montableauvert td { border: 1px solid #363; }
Et enfin j'ajouterais qu'on peut supprimer les attributs cellpadding et cellspacing de la balise <table en utilisant en CSS pour l'élément "table" la propriété border-collapse avec pour valeurs possibles "collapse" (correspondant à cellspacing="0") ou "separate" et éventuellement et pour l'élément "td" la propriété "padding".
Modifié en dernier par Cyrano le 06 nov. 2007, 16:25, modifié 2 fois.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 4039 Messages

06 nov. 2007, 15:48

eum, question bête, tu fais bien les modifications dans ta feuille de style ?

Si tu nous postes ta page html et ton feuille de style, ce serait plus pratique.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 259 Messages

07 nov. 2007, 10:53

j'ai testé en mettant dans ma feuille de style :

Code : Tout sélectionner

table.couleur { border: 1px solid #363; } td.couleur { border: 1px solid #363; }
J'ai donc créé une classe car ds mon design il y a plein de tableau donc sinon ça fait plein de carré partout. Donc j'ai testé et ça marche bien sous Firefox.

Par contre pour les scrollbar il n'y a aucune solution pour les afficher sous Firefox en couleur ?

ViPHP
ViPHP | 4039 Messages

07 nov. 2007, 11:40

Pour les scrollbar:

Si.. en faire soi-même en JS. (y'a de bibliothèques pour ça, comme ici).
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Mammouth du PHP | 2937 Messages

07 nov. 2007, 12:53

Par contre pour les scrollbar il n'y a aucune solution pour les afficher sous Firefox en couleur ?
Opera en tient compte, même si ce sont des propriétés propriétaires d'Internet Explorer.

Mais, si tu veux faire des CSS conformes aux spécifications du W3C, je te conseille de laisser tomber les scrollbars.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

07 nov. 2007, 13:19

Mouais... je sais que je vais encore me faire taper mais bon... Pourquoi se priver des avantages que peut apporter IE à ceux qui l'utilisent ? (patapé patapé)

Les autres navigateurs ne veulent pas implémenter cette fonctionnalité parce que ce n'est pas dans les spécifications du W3C (et encore, ça n'a pas arrêté opéra vraissemblablement), et bien tant pis pour eux, ils l'ignorent et on en parle plus.

En tant qu'utilisateur et/ou webmaster, ce qu'on recherche c'est avant tout un site agréable quel que soit le navigateur. Qu'il soit conforme à des précos, c'est juste un plus pour ajouter un macaron "moi m'sieur, moi m'sieur !! vous avez vu, moi je respecte le w3c m'sieur !!" ;)

Vala, vous pouvez taper maintenant ! :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

07 nov. 2007, 13:27

Je rejoindrais Ryle en disant que tant que le CSS qui permet aux scrollbars d'être colorée ne pose pas de soucis pour les autres navigateurs, je trouverais dommage de s'en priver, juste pour pouvoir dire "Je suis valide W3C".

J'en remet une couche, mais le W3C, c'est bien, en abusé, ça craint ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer