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 :

Non centrage malgré ceinture et bretelles


Sujet :

Centrer un élément en CSS

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut Non centrage malgré ceinture et bretelles
    Bonjour,

    je viens de m'apercevoir que dans mon code, je demande 2 fois le centrage du texte et pourtant, il ne l'est pas...pourquoi ?

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <td class="width5 centrage"><span class="color006600 gras centrage"><a href="xxx.html"><img SRC="xxx.png" height=32 width=32></a><br/>Hermes</span></td>

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .centrage {
    text-align:center;
    }

    Hermes et l'image sont alignés à gauche
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 107
    Points : 132
    Points
    132
    Par défaut
    La balise <span> est de type inline et n'est pas modifiable comme une balise de type block.
    Tu peux faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    .centrage {
        text-align:center;
        display:block;
    }
    Ou remplacer ton span par un div.

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Merci pour ta réponse ; néanmoins, ayant fait les 2 (j'ai remplacé span par div et ai rajouté display:block; dans la classe centrage) et ce n'est toujours pas centré...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 107
    Points : 132
    Points
    132
    Par défaut
    ça fonctionne chez moi. Tu dois avoir des propriétés qui "s'annulent".
    Regarde : jsfiddle.net

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    je ne vois pas bien l'intérêt d'encapsuler dans SPAN, DIV ou autre quand le comportement normal devrait suffire.
    avec le CSS (pour exemple)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .width5{
      width:500px;
      text-align:center;
    }
    et le html suivant
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <td class="width5">
      <img src="http://www.developpez.net/template/images/logo.png">
      <br>Hermes
    <td>
    cela devrait suffire non ?

  6. #6
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Absent pendant une semaine, je n'ai pas pu regarder ; je viens de trouver ce qui provoque le non-centrage mais ne trouve pas de solution "moderne".

    code où c'est centré :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <table COLS=20>
    <tr>
    <td class="width5 centrage gras color006600"><a href="....html"><img SRC="....png" height=32 width=32></a><br/>Hermes</td>
    ...
    </tr>
    </table>

    code où c'est pas centré :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <table>
    <tr>
    <td class="width5 centrage gras color006600"><a href="....html"><img SRC="....png" height=32 width=32></a><br/>Hermes</td>
    ...
    </tr>
    </table>

    La différence est donc juste l'attribut COLS=20 de la balise table dans le premier code ; comment remplacer "proprement" cela ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour Laurent,

    1/ commence par étudier la syntaxe :


    2/ Si tu ne sais pas encore qu'il faut entourer les valeurs des attributs par des double quotes, et mettre ces dits attributs en minuscules, on ne peut pas grand'chose pour toi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <table cols="20">
    <tr>
    <td class="width5 centrage gras color006600"><a href="....html"><img src="....png" height="32" width="32"></a><br/>Hermes</td>
    3/ les style CSS, tu connais ?
    et la syntaxe correcte pour une image ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="....png" alt="" style="height:32px; width:32px;" />
    N.B Ce qui m'inquiète vraiment, c'est que tu sembles oublier plus vite que tu n'apprends...
    Dernière modification par Invité ; 26/05/2015 à 08h36.

  8. #8
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Merci pour les corrections Jérôme ; cela dit, ce code n'est pas de moi ; je cherche juste à le modifier ; et j'ai trouvé dedans "dernière modification : 2003"... et c'est vrai que je n'ai pas remis en cause cette partie du code, bien qu'elle me surprenait.

    Sinon, l'attribut "cols" de table n'est pas mentionné dans ton lien sur la syntaxe (juste une balise col).
    Et pas trouvé sa signification, mais si je l'enlève, le centrage disparaît...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  9. #9
    Invité
    Invité(e)
    Par défaut
    Laurent,
    ça fait des mois que tu nous soûles avec ton "vieux code" !

    Quand vas-tu ENFIN prendre les choses en main, et NETTOYER et CORRIGER les syntaxes défectueuses (et/ou obsolètes) de ce code AVANT de poster sur DVP ???

    Et en effet, <table cols=20> ne veut rien dire.
    La solution à ton problème est AILLEURS.
    Dans le fichier CSS, très probablement.

    On t'a aussi DEJA expliqué qu'il y a un "inspecteur de fichier", sur Firefox notamment (Firebug), qui permet, entre autres, de savoir QUELS STYLES CSS s'appliquent sur tel ou tel élément du code.
    il serait TEMPS d'APPRENDRE à t'en servir !!!

  10. #10
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    C'est vrai que ce code est passé à l'as, et pourtant je l'ai beaucoup fait : fonctions xx_mysql -> PDO, remplacement des balises <font>, remplacements des vieilles balises html de mise en page (<b>, <i>, <u>, etc) par du CSS...

    Sinon, j'ai voulu regarder mon code avec Firefox (alors que jusque là, que IE) et la mise en page tabulaire est perdue (ou table à une seule colonne au lieu de 20...)

    Le code :

    Code html : 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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
     
    <?php
    //header('Content-type: text/html; charset=UTF-8');
    include (dirname(__DIR__).'\config\config.php');
    ?>
     
     
    <br/>
    <!--<table COLS=20 class="width100pour100">-->
    <table cols="20" class="width100pour100">
    <tr>
    <td class="width5 centrage gras taillemoinsun">A1</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage color006600 gras"><a href="xxx.html"><img SRC="xxx.png" alt="" style="height:32px; width:32px"></a><br/>Hermes</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage color006600 gras"><a href="xxx.html"><img SRC="xxx.png" alt="" style="height:32; width:32"></a><br/>Neon</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage color006600 gras"><a href="xxx.html"><img SRC="xxx.png" alt="" style="height:32; width:32"></a><br/>Jupiter</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage color006600 gras"><a href="xxx.html"><img SRC="xxx.png" alt="" style="height:32; width:32"></a><br/>Victoria</td>
    <td class="width5 centrage color006600 gras"><a href="xxx.html"><img SRC="xxx.png" alt="" style="height:32; width:32"></a><br/>Superieur</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage color006600 gras"><a href="xxx.html"><img SRC="xxx.png" alt="" style="height:32; width:32"></a><br/>Boree</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage color006600 gras"><a href="xxx.html"><img SRC="xxx.png" alt="" style="height:32; width:32"></a><br/>Bise</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    </tr>
     
    <td class="width5 centrage"><span class="gras taillemoinsun">S2</span></td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage"><font color="#006600"><a href="xxx.html"><img SRC="xxx.png" alt="" style="height:32; width:32"></a><br><b>Lion</b></font></td>
    <td class="width5 centrage"><font color="#006600"><a href="xxx.html"><img SRC="xxx.png" alt="" style="height:32px; width:32px"></a><br><b>Bentley</b></font></td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage"><font color="#006600"><a href="xxx.html"><img SRC="xxx.png" alt="" style="height:32px; width:32px"></a><br><b>Cirrus</b></font></td>
    <td class="width5 centrage"><font color="#006600"><a href="xxx.html"><img SRC="xxx.png" alt="" style="height:32px; width:32px"></a><br><b>Koala</b></font></td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage"><font color="#006600"><a href="xxx.html"><img SRC="xxx.png" alt="" style="height:32px; width:32px"></a><br><b>Mangue</b></font></td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    <td class="width5 centrage">&nbsp;</td>
    </tr>
    ...
    </table>
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  11. #11
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Ce matin, j'ai trouvé l'explication du problème d'affichage avec Firefox (et c'est pas normal que ça marchait avec IE) : un display:block; dans une propriété CSS...Si je l'enlève l'affichage tabulaire est bon ; par contre, l'utilisation de Firebug (que je ne maîtrise pas) n'apporterait rien car si l'attribut cols="20" est nécessaire pour avoir le centrage avec IE, il est inutile avec Firefox !
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  12. #12
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Force ta TABLE à respecter les dimensions avec un table-layout:fixed;.
    Glossaire des propriétés CSS

  13. #13
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Merci, j'ai essayé, mais non seulement, ça reste non centré sous IE, mais du coup la largeur est trop faible et même sous FF, certaines cellules se chevauchent...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  14. #14
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    ça reste non centré sous IE, mais du coup la largeur est trop faible et même sous FF, certaines cellules se chevauchent...
    Si je fais un rapide calcul :
    avec une Res_Ecran de 1280 chaque colonne fait 64px, si le navigateur est full page, ce qui entraine que quoiqu'il arrive cela va devenir fin d'avoir un affichage correct en toutes circonstances.

    Un rapide test me montre que cela fonctionne et avec ce simple CSS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    .width100pour100{
      width:100%;
      table-layout:fixed;
    }
    .width5{
      width:5%;
    }
    .centrage{
      text-align:center;
    }

  15. #15
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    je viens de remplacer
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       .width5 {
     width:5px;
     }
    par
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       .width5 {
     width:5%;
     }
    (plus logique vu qu'il y a 20 cellules) et du coup, c'est aussi centré sous IE. Sachant que ma résolution d'écran est de 1366px, 5%=68,3px, nettement plus que 5px. Ca explique sûrement que le centrage se fait, mais pourquoi c'était quand même bon sous FF, malgré cette largeur des cellules spécifiée super faible ?

    EDIT : j'ai oublié de préciser : si je mets la propriété CSS table-layout:fixed;, ça impose une largeur fixe des cellules et provoque des chevauchements, alors que si je l'enlève le navigateur ajuste les largeurs et plus de chevauchements...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/12/2010, 09h23
  2. [OL-2007] Emails sous 2007 non archivés malgré la boucle
    Par ZeitnotZatopek dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 22/10/2009, 12h51
  3. exception non levée malgré throw dans une boucle for
    Par marion5515 dans le forum Langage
    Réponses: 12
    Dernier message: 14/05/2009, 17h53
  4. Réponses: 4
    Dernier message: 16/07/2007, 09h03
  5. [ADO.NET] Connexion non fermée malgré un close() ?
    Par TheoOrl45 dans le forum Accès aux données
    Réponses: 6
    Dernier message: 13/02/2007, 15h21

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