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 :

Bug IE du gradient dans une Table


Sujet :

Tableau en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de LhIaScZkTer
    Inscrit en
    Mai 2004
    Messages
    564
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2004
    Messages : 564
    Par défaut Bug IE du gradient dans une Table
    Bonjour à tous,

    J'ai un bug assez incompréhensible dans IE 8. J'ai défini la règle suivante pour une table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	border: solid 1px #c7c7c7;	 
    	background: #efefef; 
    	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ededed'); 
    /* Les autres navigateurs (...)*/
    Si j'applique cette règle cette règle à un DIV le dégradé se fait sans problème, si je l'applique à une Table le dégradé ne fonctionne pas et seul la couleur grise est affichée.

    Quelqu'un pourrait m'éclairer sur ce bug ?

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par LhIaScZkTer
    J'ai défini la règle suivante pour une table
    Tu l'appliques à la balise table ?

    Parce que si c'est sur une ligne, gradient ne s'applique pas aux balises tr.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éclairé Avatar de LhIaScZkTer
    Inscrit en
    Mai 2004
    Messages
    564
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2004
    Messages : 564
    Par défaut
    Salut Bovino et merci pour ta réponse,

    Le gradient je l'applique à toute la table. Si j'enlève background: #efefef; le gradient s'applique sans problème, mais dès que je le rajoute il m'affiche la couleur grise. Ce comportement n'est pas visible sur un DIV, je trouve ça très bizarre. En plus, je ne peux pas me permettre d'enlever le background parce que celui-ci est utile pour Opera et tout autre navigateur ne gérant pas le gradient.

    Donc, est-ce un bug ou une features que je ne comprendrais pas ?

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Je pense que c'est surtout que l'affichage d'une table (d'autant plus si elle est grosse) est suffisamment pénible pour IE qu'un rien lui fait perdre le nord
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre éclairé Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Par défaut
    Pour utiliser un dégradé avec IE8 il te faut ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=''#ffffff'', endColorstr='#ededed')"; /* IE8 */
    Ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ededed');
    Fonctionne seulement pour IE6 et IE7

  6. #6
    Membre éclairé Avatar de LhIaScZkTer
    Inscrit en
    Mai 2004
    Messages
    564
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2004
    Messages : 564
    Par défaut
    Salut Bovino, salut Meloooo et merci pour vos réponses.

    Après vos remarque j'ai voulu en avoir le coeur net. Ma table est toute bête 3 colonnes et 10 ligne avec très peu de données dedans, c'est pour une maquette. Donc, la table est très simple. J'ai cherché la doc : -ms-filter Attribute | filter Property

    Comme tu l'as dit Meloooo j'ai rajouter le -ms-filter, que je le mette avant ou après filter ne produit aucune différence et ça fonctionne très bien l'effet gradient fonctionne à merveille. Là où ça ne fonctionne plus, et où je trouve bizarre, c'est quand je rajoute un background pour les navigateurs qui, comme Opera, ne gère pas le gradient. Je précise que background est déclaré avant filter et -ms-filter. Pourtant le même code appliqué à une DIV fonctionne tip-top.

    Donc la question existentielle que je me pose est : Est-ce que simplement d'appliquer ce genre de style sur une table n'est tout simplement pas "sémantiquement" correct ?

    Voici mon code :
    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
    table{
    	border-spacing:0 5px;
    	border-radius:5px;
    	-moz-border-radius:5px;
    	-webkit-border-radius:5px;  
     
    	background: #efefef;                      
    	background: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#ededed));
    	background: -moz-linear-gradient(top,  #fdfdfd,  #ededed);                                                    
     
    	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ededed');   
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ffffff', endColorstr='#ededed')"; 
     
            width:100%;
            text-align:left;
     
    	color: #606060;
     
    	margin:10px 0 0 0;
    	padding:10px;
    }
    La seule solution que je vois est d'appliquer ce style à une DIV qui contiendrait la table mais je trouve que c'est un gaspillage de balise et surtout c'est pas propre.

    Si quelqu'un a plus d'informations sur cette features je serais ravi qu'il me les partage

    Merci pour votre aide

Discussions similaires

  1. Déterminer la Valeur la plus grande dans une table
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 9
    Dernier message: 23/08/2014, 00h35
  2. [WD17] BUG sur Cadrage Vertical dans une table multi-lignes
    Par jimmypage dans le forum WinDev
    Réponses: 2
    Dernier message: 22/03/2013, 18h34
  3. [MySQL] Recherche dans une table - petit bug affichage multiple pour certaine recherche
    Par runcafre91 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/01/2010, 10h44
  4. Recherche de donnee dans une table associée
    Par josoft dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/07/2003, 16h22
  5. Comment stocker un ficher dans une table postgres
    Par josoft dans le forum Requêtes
    Réponses: 3
    Dernier message: 23/06/2003, 17h41

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