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

ASP.NET Discussion :

asp:Panel : mise en forme


Sujet :

ASP.NET

  1. #1
    Membre confirmé Avatar de Yosko
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2008
    Messages : 61
    Par défaut asp:Panel : mise en forme
    Bonjour à tous,

    Je rencontre aujourd'hui une petite difficulté pour "skinner" des Panels.
    Je sais qu'il existe plusieurs moyens de modifier leur apparence, mais aucun ne semble donner le résultat que je souhaites.

    Mon but est de remplir ces 3 points :
    1. Avoir des bordures différentes sur les différents côtés (du genre border-width: 0px 2px 1px 2px; ).
    2. Séparer le code de la mise en forme (dans des fichiers CSS par exemple)
    3. Que ce rendu fonctionne dans IE6 (hélas)

    J'ai essayé ceci, qui fonctionne très bien dans Firefox, mais pas dans IE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        <asp:Panel ID="PanelTitle1" runat="server"
            CssClass="panelTitle">
            Contenu de mon Panel
        </asp:Panel>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    .panelTitle {
        border-width: 0px 2px 1px 2px;
        border-style: solid;
        border-color: black;
    }
    IE semble bien prendre en compte le css (il applique les éventuelles marges et autres mises en formes que je lui demande), mais les bordures et background semblent ignorés ou overridés.

    J'ai aussi essayé de regarder du côté des propriété du controle aspanel : non seulement je n'y ai pas trouvé la solution, mais en plus cela m'obligerait à mélanger code et mise en forme.

    J'ai aussi jeté un oeil du côté des skins, toujours avec un résultat infructueux.

    Auriez-vous une idée de la solution ?

  2. #2
    Membre confirmé Avatar de Yosko
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2008
    Messages : 61
    Par défaut
    En fait, après avoir refait proprement mes tests, je me rend compte qu'aucune méthode servant à afficher des bordures ou background ne fonctionne sous IE6 (alors que toutes fonctionnes avec Firefox) :
    • Propriétés du contrôle Panel (BorderWidth, BorderColor, BorderStyle)
    • Les mêmes propriétés appliquées à un skin, lui même appliqué au Panel
    • Une classe CSS appliquée au contrôle Panel
    • La même classe CSS appliquée au skin


    Je suis à cours d'idées, maintenant...
    Une piste sur ce qui peut être la cause du problème ? (le premier qui répond IE6, je le mange tout cru, même s'il aura probablement raison...)

    EDIT : je sais que la classe CSS est appliquée par IE, puisqu'il prend en compte les autres propriétés, comme la couleur du texte ou son alignement. C'est donc que quelque chose ayant une priorité plus forte remplace mes bordures et backgrounds...

  3. #3
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par défaut
    si tu mets la propriete style directement dans le panel, le probleme existe toujours ?

    Et certainement IE6 le probleme, mais on peut ecrire un css special pour lui

  4. #4
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    J'aurais tendance à te dire d'utiliser ce script pour IE6 puisque même Microsoft dit qu'il faut arrêter de l'utiliser
    Cela dit, comme on n'a pas toujours le choix, le mieux est surement d'avoir une CSS spécifique en utilisant ce commentaire conditionnel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <!--[if IE 6]>
    CSS spécifique IE 6
    <![endif]-->

  5. #5
    Membre confirmé Avatar de Yosko
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2008
    Messages : 61
    Par défaut
    Tout d'abord merci à vous pour ces réponses.

    Je viens de trouver une solution à mon problème, que je ne comprend pas vraiment, mais bon : en encapsulant mes panels et autres dans une balise fieldset, le CSS s'est mis à fonctionner correctement même sous IE6. J'ai essayé de voir si un élément de mon CSS pouvait en être la cause, mais n'ai rien trouvé. Pourquoi un fieldset ? Je n'en sais rien...

    @tortuegenie : oui j'avais essayé (j'avais oublié de le préciser, désolé), et le problème était le même.

    @calagan99 : le problème est en fait un peu plus compliqué que ça. Que le CSS soit dans mon fichier CSS spécifique IE6, entre les balises <!--[if IE 6]> ou simplement indiqué comme mon fichier CSS classique, il est ignoré, ou plutôt remplacé par quelque chose qui semble avoir la priorité là dessus.

    Pour le coup du "IE6 no more" : je suis bien d'accord avec toi, mais travaillant pour une grosse société à l'inertie importante, le passage vers un autre browser (IE8 en l'occurence) ne se fait pas très vite, et je suis bien obligé de trouver une solution pour IE6 du coup ^^'

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

Discussions similaires

  1. Mise en forme condtionnelle en asp
    Par ravidat dans le forum ASP
    Réponses: 1
    Dernier message: 30/07/2010, 11h04
  2. [ASP.NET][C#]Mise en forme conditionnelle d'un gridview
    Par PatStan17 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 15/01/2009, 16h49
  3. Selection de panel par bouton radio et mise en forme
    Par sunvialley dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/01/2008, 10h45
  4. Mise en forme de panel
    Par MayOL69bg dans le forum ASP.NET
    Réponses: 2
    Dernier message: 15/03/2007, 10h14
  5. mise en forme texte sous ASP
    Par philou56000 dans le forum ASP
    Réponses: 2
    Dernier message: 25/10/2005, 21h28

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