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

HTML Discussion :

Alignement caractères à droite


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 219
    Par défaut Alignement caractères à droite
    Bonjour,

    j'ai une liste de ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <ul>
    <li>ligne 1</li>
    <li>ligne 2 plus longue</li>
    <li>ligne 3
      <ul>
        <li>sous ligne1</li>
        <li>sous ligne2</li>
      <ul>
    </li>
    </ul>
    en fait je voudrais mettre un petit ">" à la fin de chaque ligne, mais que tous les caractères d'un même niveau soient alignés à droite par rapport au libellé le plus long (ligne2... par exemple ici)

    Merci pour votre attention.

    @++
    Dany

  2. #2
    Membre éclairé Avatar de k4st0r42
    Homme Profil pro
    Artisan numérique
    Inscrit en
    Janvier 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisan numérique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 48
    Par défaut
    T'as qu'a mettre une certaine longueur à tes <li> et un background contenant une image alignée à droite en forme de >

  3. #3
    Membre extrêmement actif
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 219
    Par défaut
    bonjour,

    merci pour la réponse rapide. en fait ma difficulté est de définir la taille du <li> en fonction de la plus grande ligne, les intitulés pouvant changer.

    @++
    Dany

  4. #4
    Membre Expert
    Avatar de rodolphebrd
    Homme Profil pro
    Indépendant
    Inscrit en
    Novembre 2012
    Messages
    2 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Indépendant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 336
    Par défaut
    bonjour,

    il faut utiliser un pseudo élément pour obtenir cela:
    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
     
    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <style>
    .first_level>li {
            display:block;
            width:150px;
            position:relative;
    }
    .first_level>li:after {
            content:">";
            position:absolute;
            top:0;
            right:0;
    }
     </style>
     </head>
     <body>
    <ul class="first_level">
    <li>ligne 1</li>
    <li>ligne 2 plus longue</li>
    <li>ligne 3
      <ul>
        <li>sous ligne1</li>
        <li>sous ligne2</li>
      </ul>
    </li>
    </ul>
    </body>
    </html>
    Attention de bien fermer vos balises (UL)

  5. #5
    Membre extrêmement actif
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 219
    Par défaut
    Bonjour,

    et Merci.

    oui j'ai écris le code directement dans le post, j'ai pas fait gaffe, mais dans la vraie vie les balises sont biens fermées

    Cela répond presque parfaitement à ma demande, à l'exception cependant du width qui est fixe. En fait l'idéal (mais je ne sais pas si cela est bien possible) c'est que le li s'ajuste automatiquement et que le > s'aligne bien à droite comme c'est le cas dans votre exemple.

    encore merci.

    @++
    Dany

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Bonjour,
    si tu veux que ton élément UL s'adapte à la plus grande largeur, passe le en float:left, par exemple, il n'occupera que la place du contenu.

    Il te faut également ajouter un padding-right pour que le "after" ne se superpose pas avec le texte le plus long.

    Sur base de l'exemple de rodolphebrd
    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
    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <style>
    .first_level{
      float:left;           /* s'adapte au contenu */
      background:#EEE;      /* pour voir la zone occupée */
    }
    .first_level>li {
      display:block;
      position:relative;
      padding-right:1.5em;  /* laisse la place pour le "after" */
    }
    .first_level>li:after {
      content:">";
      position:absolute;
      top:0;
      right:0;
    }
    </style>
    </head>
    <body>
    <ul class="first_level">
      <li>ligne 1</li>
      <li>ligne 2 plus longue</li>
      <li>ligne 3
        <ul>
          <li>sous ligne1</li>
          <li>sous ligne2</li>
        </ul>
      </li>
    </ul>
    </body>
    </html>

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

Discussions similaires

  1. Aligner qrdbtext à droite
    Par nou366 dans le forum Delphi
    Réponses: 3
    Dernier message: 23/04/2007, 11h45
  2. alignement a droite lors d'un insert
    Par nenekes dans le forum Langage SQL
    Réponses: 8
    Dernier message: 22/03/2007, 23h30
  3. Réponses: 3
    Dernier message: 31/10/2006, 11h07
  4. [BCB6] Aligner texte à droite
    Par rtg57 dans le forum C++Builder
    Réponses: 15
    Dernier message: 19/06/2006, 21h48
  5. [VB6] [Printer] Chiffres alignés à droite
    Par Laye dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 03/10/2002, 18h36

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