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 :

Liste à puce (list-style) mettre un simple tiret ?


Sujet :

CSS

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 39
    Points : 33
    Points
    33
    Par défaut Liste à puce (list-style) mettre un simple tiret ?
    Bonjour tlm,

    Bon peut être que le titre n'est pas très explicite, je vais "essayer" d'expliquer mon problème clairement (je suis très mauvais pour ça..)


    Donc je voudrais mettre de simple tiret a une liste (<ul> <li>), sachant qu'il est n'y a pas ce dit tiret dans les propriétés "list-style" :
    Le problème est que si je met ces tiret à la main dans le code, ma liste est mal présenté car si une ligne tient sur 2 ou plusieurs lignes, ces lignes additionelles commencent sous le tiret, alors qu'elles auraient commencé après la puce si c'était une puce de list style (un cercle par exemple).


    Comment faire pour que ces tirets soient réellement compté comme une puce ?


    J'espère que quelqu'un aura compris mon problème lol je suis vraiment mauvais pour m'expliquer je vous ai prévenu ^^



    Merci d'avance

  2. #2
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonsoir

    Ne t'en fais pas, je t'ai très bien compris

    Utilises à la place une image que tu utiliseras avec list-style-image, en tout cas c'est comme ça que je fais...
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 39
    Points : 33
    Points
    33
    Par défaut
    Merci pour ta réponse,

    Je voulais éviter cette solution de secours mais si il n'y a que ca


    Je vais devoir faire une image d'un tiret lol, ils auraient pu mettre le tiret dans le list-style !

  4. #4
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut une autre solution ?
    Salut à tous,
    je me permets de relancer le topic 4 ans après, car je rencontre le même problème (je souhaiterai préfixer les éléments de mes listes avec un tiret).
    Est ce qu'il y a une autre solution ou bien est on obligé de passer par une image ?

    Voici le rendu que je souhaite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     -element1
      suite de element1
      suite de element1
      suite de element1
     
     -element2
      suite de element2
      suite de element2
      suite de element2
    et non

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     -element1
    suite de element1
    suite de element1
    suite de element1
     
     -element2
    suite de element2
    suite de element2
    suite de element2
    Le tiret doit précéder l'élément de liste

    Est ce que quelqu’un sait comment je peux faire ça en CSS ?
    J'ai essayer la propriété css li:before mais celle ci ne semble pas supportée.

    merci d'avance,
    ben

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Pourtant ça fonctionne très ben :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <ul>
       <li>Test 1</li>
       <li>Test 2</li>
       <li>Test 3</li>
       <li>Test 4</li>
    </ul>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ul {
       list-style-type: none;
    }
    li:before {
       content: '- ';
    }

  6. #6
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut
    merci de ta réponse,
    j'ai essayé sous FF cela ne fonctionne pas sous IE (7 et 8) chez moi.
    ben

  7. #7
    Membre habitué Avatar de elfamine
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 113
    Points : 186
    Points
    186
    Par défaut
    Bonjour,

    vu l'exemple donné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     -element1
      suite de element1
      suite de element1
      suite de element1
     
     -element2
      suite de element2
      suite de element2
      suite de element2
    Est ce qu'il ne serait pas mieux d'utiliser des balises <dl><dt><dd>
    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
    <!DOCTYPE html>
    <html>
    <head>
    <style type="text/css">
    dt:before {content: '-';}
    dd{margin-left:10px;} <!-- on pourait supprimer cette ligne vu qu'ils sont par defaut margé sur la gauche -->
    </style>
    </head>
    <body>
     
    <dl>
    <dt>element1</dt>
    <dd>suite de element1</dd>
    <dd>suite de element1</dd>
    <dd>suite de element1</dd>
     
    <dt>element2</dt>
    <dd>suite de element2</dd>
    <dd>suite de element2</dd>
    <dd>suite de element2</dd>
    </dl>
    </html>
    testé sur FF et IE 9


  8. #8
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut
    salut Melcain,
    merci de ta réponse, j'ai besoin d'une compatibilité avec IE 7.
    Sous IE 7, les tirets n'apparaissent pas.
    une idée ?

    si c'est vraiment impossible, je testerai avec list-style-image.

    merci,
    ben

  9. #9
    Membre habitué Avatar de elfamine
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 113
    Points : 186
    Points
    186
    Par défaut
    Bonjour,
    Alors attention je suis debutant en javascript y a peut etre mieux comme code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script type="text/javascript">
    $(document).ready(function() {
    	$('dt').each(function(insert){
    			insert = "-";
    			insert += $(this).text();
    			$(this).empty().append(insert);
    	});
    });
    </script>
    pour chaque dt on va initialiser une variable insert avec la valeur :"-". ensuite on récupère le texte que contient la balise dt et concatène le tout. A ce moment la Insert va avoir comme valeur "-"+"la chaine de caractère de notre dt actuel".On remplace le contenu de dt par la valeur insert et on reboucle autant de fois qu'il faut apres je sais pas si y'a moyen d'insérer le - tout betement. J'ai essayer avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('dt:before').css('content','"-"');
    ou encore avec
    ca n'a pas vraiment fonctionné.

    sinon voila le code complet pour le test (testé sous ie7 ca a l'air d'etre bon)

    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
    <!DOCTYPE html>
    <html>
    <head>
    <style type="text/css">
    dd{margin-left:20px;} <!-- Regler la marge ici -->
    </style>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    $(document).ready(function() {
    	$('dt').each(function(insert){
    			insert = "-";
    			insert += $(this).text();
    			$(this).empty().append(insert);
    	});
    });
    </script>
    </head>
    <body>
     
    <dl>
    <dt>element1</dt>
    <dd>suite de element1</dd>
    <dd>suite de element1</dd>
    <dd>suite de element1</dd>
     
    <dt>element2</dt>
    <dd>suite de element2</dd>
    <dd>suite de element2</dd>
    <dd>suite de element2</dd>
    </dl>
    </html>

  10. #10
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut
    Salut,
    merci de ta réponse. Je ne préfère pas mettre de JQUERY pour un truc aussi simple.

    voici comment je me suis débrouillé :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list-style-image:url(../images/puce_style1.jpg);
    mais ne fonctionne pas sous IE 7 http://esprit-creatif.blog.mongenie....idblogp=406297

    en revanche, fonctionne partiellement sous IE7 et fonctionne sous IE8 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    background:url(../images/puce_style1.jpg) center left no-repeat;

    a+
    ben

  11. #11
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut
    voici une solution qui fonctionne sous IE 7,8 , chrome et FF en fixant la hauteur de ligne et en centrant les puces au niveau des textes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #actu li {
    margin-bottom:0px;
    height:20px;
    padding-bottom:10px;
    padding-top:10px;
    background-image: url(../images/puce_style1.jpg);
    background-repeat: no-repeat;
    background-position: left;
    }
    a+
    ben

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

Discussions similaires

  1. [WD-2013] [STYLES] Espacement dans et autour d'une liste à puces
    Par Damienouèbe dans le forum Word
    Réponses: 4
    Dernier message: 22/07/2014, 17h22
  2. Ma liste à puce sans retour à la ligne ?
    Par ChrissBob dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 23/08/2011, 13h05
  3. Regrouper une liste en liste de listes
    Par West01 dans le forum Prolog
    Réponses: 12
    Dernier message: 14/03/2008, 14h07
  4. [HTML] saut de ligne dans liste à puce.
    Par spirou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 24/08/2005, 20h07
  5. [CSS]Changer l'interligne des éléments d'une liste à puces
    Par khany dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/03/2005, 13h57

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