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 :

Comment puis-je ne sélectionner que le premier <li>


Sujet :

CSS

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut Comment puis-je ne sélectionner que le premier <li>
    Bonjour à tous,

    J'ai une escalde de li, mais simple

    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
    <ul class="ul_research">
    <li>
    <p>tata</p>
    <ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    </ul>
    </li>
    <li>
    <p>titi</p>
    <ul><li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    </ul>
    </li>
     
    </ul>

    J'aimerais que ce code css n'affecte que le premier li du premier niveau.
    Dans mon cas, les li du deuxieme niveau sont aussi affectés et je ne le veux pas.

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ul.ul_research li{margin:0px 0px 10px 0px;list-style-type:none; border-bottom:1px solid #cccccc;}

    Comment puis-.je le faire de maniere simple et propre?
    J'ai regardé les selctor, mais sans conviction

    Merci
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  2. #2
    Expert confirmé
    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
    Points : 5 443
    Points
    5 443
    Par défaut
    Bonjour,

    Je ne sais pas si votre question est claire...
    Pour tester:
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    li:first-child{
      color:red;
    }
    Pensez à
    lire les règles du forum effectuer une recherche préalable
    utiliser la balise code (#) éditer votre code sur Codepen, Dabblet, Jsfiddle
    clore votre post avec le bouton

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Ben j'aimerai que ca affecte que les li du permier niveau, pas ceux du deuxieme niveau.

    le li:first-child, il n'affectera que les premiers <li>
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  4. #4
    Expert confirmé
    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
    Points : 5 443
    Points
    5 443
    Par défaut
    Solution 1 : donner une classe au li voulu

    Solution 2 (histoire de se compliquer la vie) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      li:first-child{
      color:red;
    }
      ul ul li:not(:last-child){
    	color:black; /* rétablissement de la couleur par défaut*/
    Solution 3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    li:first-child>:first-child {
       color:red;
    }
    Note : il n'est pas pertinent de donner un nom de classe comme vous le faites : au lieu de ul_research je verrais research.

    Edit : rajout de la solution 3
    Pensez à
    lire les règles du forum effectuer une recherche préalable
    utiliser la balise code (#) éditer votre code sur Codepen, Dabblet, Jsfiddle
    clore votre post avec le bouton

  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
    Heu, ce n'est pas plutôt simplement ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .ul_research > li:first-child {}
    ?

    Citation Envoyé par pierrot10 Voir le message
    J'ai une escalde de li, mais simple
    Oui enfin, avec une indentation correcte, on s'en rend mieux compte :
    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
    <ul class="ul_research">
       <li>
          <p>tata</p>
          <ul>
             <li></li>
             <li></li>
             <li></li>
             <li></li>
             <li></li>
          </ul>
       </li>
       <li>
          <p>titi</p>
          <ul>
             <li></li>
             <li></li>
             <li></li>
             <li></li>
             <li></li>
          </ul>
       </li>
    </ul>

  6. #6
    Expert confirmé
    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
    Points : 5 443
    Points
    5 443
    Par défaut
    Non pas si on veut sélectionner le premier li de premier niveau: http://codepen.io/anon/pen/shimk
    Pensez à
    lire les règles du forum effectuer une recherche préalable
    utiliser la balise code (#) éditer votre code sur Codepen, Dabblet, Jsfiddle
    clore votre post avec le bouton

  7. #7
    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
    Oui, mais il n'y a qu'à rajouter un 2e <p>tata</p> dans le li pour en voir la limite de la solution.

    Peut-être qu'il vaudrait mieux appliquer une partie du style au ul de second niveau, de manière inversée. Sans idée du rendu final, on ne peut émettre que des spéculation.

    (Je ne trouve pas l'exemple de la couleur exemplaire, vu que c'est une propriété héritée)

    Parce que sinon, sans se casser le c*l il y a ça dans ce cas là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .ul_research > li:first-child > p {}

  8. #8
    Expert confirmé
    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
    Points : 5 443
    Points
    5 443
    Par défaut
    Citation Envoyé par Bisûnûrs
    Oui, mais il n'y a qu'à rajouter un 2e <p>tata</p> dans le li pour en voir la limite de la solution.
    l'idée (enfin la mienne sans autres infos) est de ne cibler que le premier élément. Et l'objectif est atteint.
    Citation Envoyé par Bisûnûrs
    (Je ne trouve pas l'exemple de la couleur exemplaire, vu que c'est une propriété héritée)
    avec ce style c'est plus parlant...http://codepen.io/anon/pen/shimk
    Citation Envoyé par Bisûnûrs
    Parce que sinon, sans se casser le c*l il y a ça dans ce cas là :
    Oui d'accord avec le fait de ne pas se prendre la tête . Au départ j'ai suggéré:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <ul class="ul_research">
       <li>
          <p class="first">tata</p>
          <ul>
             <li></li>
    Pensez à
    lire les règles du forum effectuer une recherche préalable
    utiliser la balise code (#) éditer votre code sur Codepen, Dabblet, Jsfiddle
    clore votre post avec le bouton

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

Discussions similaires

  1. comment ne sélectionner que le 1er enregistrement d'un groupe ?
    Par skywaukers dans le forum Langage SQL
    Réponses: 7
    Dernier message: 18/12/2007, 10h39
  2. Réponses: 3
    Dernier message: 09/05/2007, 11h39
  3. Comment puis je faire pour que'une page soir rechargees....
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/12/2005, 10h46
  4. Réponses: 3
    Dernier message: 14/11/2005, 15h06
  5. Réponses: 6
    Dernier message: 17/10/2005, 14h38

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