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 :

[CSS] Dimensions de liens


Sujet :

Dimensionnement en CSS

  1. #1
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut [CSS] Dimensions de liens
    Salut,

    Sous IE j'ai fais des liens entourés d'un cadre et d'une dimension précise: 100*20.
    Sous IE donc ça passe très bien les dimensions sont respectées.

    Sous FF par contre, le cadres colle au texte (Voyez l'image).
    Voila 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
    a.top {
     width: 100px;
     height: 19px;
     padding-top: 1px;
     display: inline-block;
     background-image: url(images/atop.jpg);
     color: gray;
     text-decoration: none;
     border: 1px solid #DBDEDF;
     text-align: center;
     font-family: "Verdana";
    }
     
    a.top:hover {
     background-image: url(images/atophover.jpg);
     color: black;
    }
    Comment réglé ce problème?
    Merci

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Salut !

    C'est parce que ton a est en display : inline-block...
    Il me semble que FF n'accepte pas les width et height sur un élément inline

    essaie de passer la balise en block totalement ^^

  3. #3
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Ah c'est vrai que cette fois les dimensions sont respectées mais si je mets plusieurs liens à la suite le prochain revient à chaque fois à la ligne (en fait c'est pour ça que j'avais mis inline).
    Donc comment faire pour les laisser à la suite?
    Merci

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    pour les laisser à la suite, tu pourrais (par exemple) les passer en float : left ou float : right...

    Bon, par contre, il est vrai que ça pourrait entrainer des comportements étranges, mais normalement, ça devrait être très limité (tout dépend de comment sont organisés les éléments de la page, je n'ai que très rarement eu des problèmes avec cette méthode )

  5. #5
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Super !
    Enfin j'arrive avec ça à un dernier problème: mes liens sont bien positionnés mais évidemment àa gauche de ma ligne. Moi je voudrai qu'ils soient centrés (oui je suis dur...). L'aligne="center" ne fonctionne pas à cause du float, même en les mettant dans un div.
    Voila la partie du code HTML:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <td align="center" bgcolor="white" class="menu">
                <a href="#" class="top">Home</a>
                <a href="#" class="top">Portail</a>
                <a href="#" class="top">Download</a>
                <a href="#" class="top">Contact</a>
                <a href="#" class="top">Liens</a>
            </td>
    Comment faire?
    Merci

  6. #6
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    heu... pas testé, mais essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <td align="center" bgcolor="white" class="menu"><div style="margin-right : auto; margin-left : auto;">
                <a href="#" class="top">Home</a>
                <a href="#" class="top">Portail</a>
                <a href="#" class="top">Download</a>
                <a href="#" class="top">Contact</a>
                <a href="#" class="top">Liens</a>
            </div></td>
    Au fait : mélanger mise en page/forme tabulaire et CSS, c'est pas tip top

  7. #7
    Membre confirmé
    Avatar de ilood
    Inscrit en
    Mars 2005
    Messages
    468
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 468
    Points : 529
    Points
    529
    Par défaut
    Salut

    Ou laisser les lien en in-line et utiliser les padding.
    Mais tes boîtes n'auront jamais la même taille. Elles varieront en fonction du contenu.

    De toute façon il faut bien penser que la taille des caractères n'est pas la même chez tous les utilisateurs. En fixant la taille de tes boites en pixels le contenu risque de sortir de celles-ci.

  8. #8
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Citation Envoyé par ilood
    De toute façon il faut bien penser que la taille des caractères n'est pas la même chez tous les utilisateurs. En fixant la taille de tes boites en pixels le contenu risque de sortir de celles-ci.
    Saut si la taille de la police est elle-même spécifiée en px...

    ensuite, c'est le débat "mise en page/forme aboslue ou relative à la configuration de l'utilisateur ?"...

    min-width serait la solution... mais IE ne le supporte pas (encore)

  9. #9
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Citation Envoyé par Swoög
    heu... pas testé, mais essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <td align="center" bgcolor="white" class="menu"><div style="margin-right : auto; margin-left : auto;">
                <a href="#" class="top">Home</a>
                <a href="#" class="top">Portail</a>
                <a href="#" class="top">Download</a>
                <a href="#" class="top">Contact</a>
                <a href="#" class="top">Liens</a>
            </div></td>
    Au fait : mélanger mise en page/forme tabulaire et CSS, c'est pas tip top
    La le div est bien centré, mais étant donné que mes éléments <a> sont float il ne "font pas partie" du div, ils ne sont pas dedans. Donc ça ne fonctionne pas
    Euh sinon qu'entends tu par "mélanger mise en page/forme tabulaire et CSS, c'est pas tip top"? HTML + CSS = ?

  10. #10
    Membre confirmé
    Avatar de ilood
    Inscrit en
    Mars 2005
    Messages
    468
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 468
    Points : 529
    Points
    529
    Par défaut
    Citation Envoyé par Swoög
    Saut si la taille de la police est elle-même spécifiée en px...
    Ceci n'est valable que sur IE. Sous Firefox même une taille en px peut-être modfiée.

  11. #11
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    je vois dans ton code une balise td donc tu procède par une mise en page tabulaire (à l'aide de tableaux) c'est UN style de mise en page (je m'apesentirais pas sur le sujet, y'a déjà assez de trolls là-dessus )
    A côté de ça, tu veux utiliser du CSS... ce qui risque de provoquer quelques collisions entre les deux styles de mise en page...

    voilà ce que je veux dire par "Mise en Forme Tabulaire et CSS ne font pas bons ménage"

    sinon, pour ce qui est de ton problème de centrage...

    comme tu as l'air d'avoir spécifier un design fixe (avec positionnement en pixels)...

    autant spécifier un margin-left pour le premier élément a de ta liste, ainsi il sera décalé vers la gauche, et tout les autres le seront aussi, donnant l'impression qu'ils sont centrés

  12. #12
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Citation Envoyé par ilood
    Ceci n'est valable que sur IE. Sous Firefox même une taille en px peut-être modfiée.
    Dans ce cas, il s'agit d'une configuration inhabituelle, et on peut modifier tout le design de tous les sites avec... donc à ce niveau là... tenir ou non compte du design du site sur le quel on est, je dirais qu'on a déjà choisi d'aller à l'encontre des choix du webmaster puisqu'on impose les siens !

  13. #13
    Membre confirmé
    Avatar de ilood
    Inscrit en
    Mars 2005
    Messages
    468
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 468
    Points : 529
    Points
    529
    Par défaut
    Citation Envoyé par Anduriel
    La le div est bien centré, mais étant donné que mes éléments <a> sont float il ne "font pas partie" du div, ils ne sont pas dedans. Donc ça ne fonctionne pas
    Le début de solution de Swöog est bon. Le soucis c'est qu'il essaie de center un contenu qui fait une taille de 100%.
    A mon avis tu devrais donner une taille à ce div.
    Si on se base sur les valeurs de départ, chaque item doit faire 100px, tu as 5 items. Il faut alors que ton div fasse 500px.

  14. #14
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Citation Envoyé par ilood
    Le début de solution d'anduriel est bon. Le soucis c'est qu'il essaie de center un contenu qui fait une taille de 100%.
    A mon avis tu devrais donner une taille à ce div.
    Si on se base sur les valeurs de départ, chaque item doit faire 100px, tu as 5 items. Il faut alors que ton div fasse 500px.
    sans compter les espacements

    à ce niveau, autant filer un margin-left au premier a de la série ^^

  15. #15
    Membre confirmé
    Avatar de ilood
    Inscrit en
    Mars 2005
    Messages
    468
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 468
    Points : 529
    Points
    529
    Par défaut
    Citation Envoyé par Swoög
    sans compter les espacements
    Ca se change ça. Tu définis tes margin et tes padding et tu fais ton petit calcul

    Citation Envoyé par Swoög
    à ce niveau, autant filer un margin-left au premier a de la série ^^
    A mon avis avec cette méthode il est très difficile de trouver uen bonne valeur pour centrer.

  16. #16
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Citation Envoyé par ilood
    Pour centrer ?
    au moins en donner l'impression... si le td est de taille fixe (comme je le soupçonne) il n'y aura pas de changement, et ça évite un div supplémentaire...

  17. #17
    Membre confirmé
    Avatar de ilood
    Inscrit en
    Mars 2005
    Messages
    468
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 468
    Points : 529
    Points
    529
    Par défaut
    J'ai l'impression que nous avons perdu notre ami Anduriel

    Voilà l'idée que j'avais du menu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    a.top {
    	display: block;
    	float: left;
    	margin: 0px;
    	padding: 0px;
    	width: 100px;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <tr>
        <td><div style="width: 500px;margin-right : auto; margin-left : auto;">
                <a href="#" class="top">Home</a>
                <a href="#" class="top">Portail</a>
                <a href="#" class="top">Download</a>
                <a href="#" class="top">Contact</a>
                <a href="#" class="top">Liens</a>
            </div></td>
      </tr>

  18. #18
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Tabulaire... tableau, j'aurai peut être dû y pensé héhé
    Merci à vous finalement le centre est tout bon

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

Discussions similaires

  1. [CSS] Dimensions extèrieures par Body
    Par Jean_Benoit dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 22/05/2006, 15h40
  2. [CSS]survol de liens
    Par norkius dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 26/04/2006, 16h19
  3. [CSS]Attribué un lien à un element grace a css ?
    Par Phenomenium dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 19/01/2006, 12h05
  4. [html][CSS]insérer un lien avec css ?
    Par Phenomenium dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 16/01/2006, 20h14
  5. [HTML]/[CSS] soulignage de lien (image + texte)
    Par Antickriszt dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 31/03/2005, 20h55

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