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 :

Propriété de CSS juste pour IE7


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Par défaut Propriété de CSS juste pour IE7
    Bonjour,
    J'utilise VS2008 et j'ai un souci avec une application ASP.NET/C# sur des pages comportant des tableaux de boutons (n lignes, n colonnes). J'aimerais que les boutons soient centrés dans les cellules du tableau, verticalement tout est ok, mais le problème se situe horizontalement.

    J'y arrive bien pour IE8, Firefox, Safari, Chrome...mais dans ce cas là, c'est IE7 qui fait n'importe quoi....les boutons partent sur la droite...

    Si je le fais bien pour IE7, ce sont les autres navigateurs qui ont des soucis de présentation.

    Un tableau se trouve à chaque fois dans un contentplaceholder, j'ai une page maitre, un fichier CSS pour l'application.

    Je donne ici le code ASP.NET le plus simple...juste deux boutons (1 ligne, 2 colonnes) ...même si j'ai fait pleins d'essais en variant les attributs de placement, dimensionnement...

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    <asp:Content ID="ContentMenuBouton" ContentPlaceHolderID="ContenuClientASP" Runat="Server">
        <div id="Default" style="width:100%;height:100%;vertical-align:middle;">
            <div style="height:100%;vertical-align:middle">
                <table style="width:100%;height:100%;vertical-align:middle;text-align:center">
                <tr style="text-align:center" align="center">
                        <td align="center" style="vertical-align:middle;text-align:center">
     
                           <div class="centrage">
                            <dxe:ASPxButton ID="BtnConsultation" runat="server" 
                                Height="192px" onclick="BtnConsultation_Click" Width="289px" 
                                HorizontalAlign="Center" VerticalAlign="Middle" EnableTheming="True">
                                <Image AlternateText="Consultation" Height="192px" 
                                    ToolTip="Module consultation" Url="~/Images/ModuleConsult.png" 
                                    Width="289px" UrlHottracked="~/Images/ModuleConsultHover.png">
                                </Image>
                                <Paddings Padding="0px" />
                                <FocusRectPaddings Padding="0px" />
                            </dxe:ASPxButton>
                            </div>
     
                        </td>
                        <td align="center" style="vertical-align:middle;text-align:center">
     
                            <div class="centrage">
                            <dxe:ASPxButton ID="BtnSaisieIntervention" runat="server" Width="289px" Height="192px" 
                                onclick="BtnSaisieIntervention_Click" HorizontalAlign="Center" 
                                VerticalAlign="Middle">
                                <Image AlternateText="Saisie intervention" 
                                    ToolTip="Module saisie interventions" Url="~/Images/ModuleInterv.png" 
                                    UrlHottracked="~/Images/ModuleIntervHover.png">
                                </Image>
                                <Paddings Padding="0px" />
                                <FocusRectPaddings Padding="0px" />
                            </dxe:ASPxButton>
                            </div>
     
                        </td>
                </tr>
                </table>
            </div>
        </div>    
    </asp:Content>
    Actuellement, j'ai une classe CSS dans le fichier CSS pour faire le centrage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    .centrage 
    {
        text-align: center; /* ne pas mettre pour IE7 */    
        position:relative; /* ne pas mettre pour IE7 */
        left:50%;
        margin-left:-144px; /* mettre à 0 pour IE7 */
        width:290px;
    }
    J'utilise une ruse pour centrer chaque bouton (placement horizontal à 50% et marge gauche négative de la moitié de la largeur du bouton).

    En commentaires, j'indique comment cela peut s'avérer correct pour IE7 (cad en enlevant text-align et position et en spécifiant margin-left à 0px).

    D'où plusieurs questions :

    a) Y a-t-il une méthode plus universelle que celle employée car c'est un peu de la bidouille (pas trouvé mieux tout seul) ?

    b) Peut-on faire des déclarations CSS conditionnelles en fonction du navigateur ou d'une version de navigateur ? Si oui, où et comment (dans le CSS, dans la page maitre,...) ?

    Même s'il y a une réponse à la question a) la réponse à la question b) m'intéresse aussi. Merci !

    N.B. : J'ai bien essayé des astuces CSS qui marchent dans des fichiers HTML simples pour n'appliquer des propriétés CSS qu'à IE7 dans mes classes CSS, mais Visual Studio y fait une allergie à la compilation

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut
    Citation Envoyé par Unusual Voir le message
    a) Y a-t-il une méthode plus universelle que celle employée car c'est un peu de la bidouille (pas trouvé mieux tout seul) ?

    b) Peut-on faire des déclarations CSS conditionnelles en fonction du navigateur ou d'une version de navigateur ? Si oui, où et comment (dans le CSS, dans la page maitre,...) ?
    La compatibilité entre tous les navigateurs est un problème très courant. De nombreux exemples existent sur le net pour les résoudre. Il existe notamment un "hack" dit "commentaire conditionnel". Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <!--[if IE]>
       ..ici, code HTML réservé à IE...
    <![endif]-->
    Dans tous les cas, tu ne devrais pas trop tenir compte des alertes de Visual Studio à ce sujet.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. Comment faire pour modifier la propriété du CSS
    Par pierrot10 dans le forum jQuery
    Réponses: 4
    Dernier message: 15/04/2012, 20h40
  2. [CSS 3] Appliquer une CSS particulière pour propriété CSS3 non reconnue
    Par Général03 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 02/04/2012, 23h13
  3. propriétés CSS dispo pour les widgets ?
    Par benibur dans le forum GWT et Vaadin
    Réponses: 4
    Dernier message: 05/10/2010, 14h51
  4. [css] intégration pour IE7
    Par flu-1 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 23/03/2010, 10h57
  5. Question CSS pour IE7 et Firefox
    Par Olivier Regnier dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 21/01/2008, 09h22

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