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 :

Cibler chaque niveau d'une liste


Sujet :

CSS

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 121
    Points : 65
    Points
    65
    Par défaut Cibler chaque niveau d'une liste
    Salut,
    Je souhaiterais cibler chaque niveau d'une liste.
    J'y parviens de la manière ci après (voir l'image jointe), mais je souhaiterais quelque chose de... plus propre ;
    genre avec des pseudo-éléments ou des pseudo-classes. Ya moyen ?
    Merci.
    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
    <style>
    	nav ul          {color:#000}
    	nav ul ul       {color:#aaa}
    	nav ul ul ul    {color:#ddd}
    	nav ul ul ul ul {color:#eee}
    </style>
    <nav>
    	<ul>
    		<li>level_1 item_1</li>
    		<li>level_1 item_2
    			<ul>
    				<li>level_2 item_1</li>
    				<li>level_2 item_2</li>
    			</ul>
    		</li>
    		<li>level_1 item_3</li>
    			<ul>
    				<li>level_2 item_1
    					<ul>
    						<li>level_3 item_1
    							<ul>
    								<li>level_4 item_1</li>
    								<li>level_4 item_2</li>
    							</ul>
    						</li>
    						<li>level_3 item_2</li>
    					</ul>
    				</li>
    				<li>level_2 item_2</li>
    			</ul>
    		<li>level_1 item_4</li>
    	</ul>
    </nav>
    Nom : Screenshot at 2017-02-01 09:58:24.png
Affichages : 81
Taille : 11,0 Ko

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 102
    Points : 44 865
    Points
    44 865
    Par défaut
    Bonjour,
    mais je souhaiterais quelque chose de... plus propre
    que reproches tu à ton code, il a l'avantage au moins d'être clair ?

    Sauf à mettre des classes à tes différents niveaux, je ne vois pas en quoi cela serait plus propre, après tout c'est du CSS avec C pour cascade.

    • Pour les Pseudo-éléments je ne vois pas l'aide qu'il pourrait t'apporter.
    • Pour les Pseudo-classes là aussi c'est raté.

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité informatique
    Inscrit en
    Juin 2012
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 519
    Points : 705
    Points
    705
    Par défaut
    Il y a aussi la possibilité d'utiliser les classes. Peut-être que c'est plus facile à maîtriser que les "ul ul ul ul" mais pas plus simple.
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    nav ul          {color:#000; }
    nav ul.lvl2 li 	{color:blue;}
    nav ul.lvl3 li	{color:green;}
    nav ul.lvl4 li	{color:red;}
    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
    <nav>
    <ul>
    	<li> 1.1</li>
    	<li> 1.2
    		<ul class="lvl2">
            	<li> 2.1</li>
                <li> 2.2</li>
    		</ul>
    	</li>
        <li 1.3>
        	<ul class="lvl2">
            	<li> 2.1
                	<ul class="lvl3">
                    	<li> 3.1
                        	<ul class="lvl4">
                            <li> 4.1</li>
                            <li> 4.2</li>
                            <li> 4.3</li>
                            </ul>                   
                        </li>
                        <li> 3.2</li>               
                	</ul>
                </li>
                <li> 2.2</li>        
            </ul>
        </li> 
        <li >1.4</li> 
    </ul>  	    
    </nav>

    ps: Attention il ne faut pas oublier le point-virgule, même si ça marche
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    nav ul          {color:#000}

    et de plus le code html est bancale, il traine un </li> qui ne devrait pas:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    <li>level_1 item_3</li>
    			<ul>
    				<li>level_2 item_1
    ...

Discussions similaires

  1. comment récupérer le dernier argument de chaque ligne dans une liste?
    Par sth56 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 22/03/2011, 14h02
  2. soustraire chaque occurance d'une liste d'une seconde liste
    Par sloshy dans le forum Général Python
    Réponses: 5
    Dernier message: 14/09/2009, 21h57
  3. convertir chaque element d'une liste
    Par fripette dans le forum Bioinformatique
    Réponses: 15
    Dernier message: 10/08/2007, 11h11
  4. FAQ : Comment alterner les couleurs de chaque élément d'une liste déroulante ?
    Par yoghisan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 04/06/2007, 14h15
  5. Réponses: 5
    Dernier message: 09/05/2006, 15h57

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