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 :

padding en fonction du nombre d’ancêtre


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 65
    Par défaut padding en fonction du nombre d’ancêtre
    Bonjour,

    J'aimerai savoir si il est possible de calculer le nombre d’ancêtre d'un element

    j'essaye de faire un explorateur de fichier a base de <ul> et <li>

    en gros j'ai:
    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
    <div id="conteneur">
    	<ul>
    		<li>
    			<div class="FolderElem">Mon Dossier et info</div>
    		</li>
    		<li>
    			<div class="FolderElem">Mon Dossier2 et info</div>
    			<ul>
    				<li>
    					<div class="FolderElem">Mon SousDossier et info</div>
    				</li>
    			</ul>
    		</li>
    	</ul>
    </div>

    en gros j'ai besoin que les div FolderElem fasse a chaque fois toute la largeur de ma div conteneur
    mais que elles est un padding a gauche de plus en plus grand
    en gros:
    - si c'est un dossier padding: 20px
    - si c'est un sous dossier padding: 40px
    - ...

    ainsi de suite

    Sachant que je ne sais pas d'avance jusqu’à combien de sous dossier je peux descendre
    J'aimerai savoir si il existe un moyen de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ul li*N .FolderElem{
     padding: N*20 px;
    }

    Merci d'avance

  2. #2
    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,

    Voici le code html simplifié (attribuer la classe aux li)
    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
    <div id="conteneur">
      <ul>
        <li class="FolderElem"> dossier 
          <ul>
            <li class="FolderElem"> sous-dossier niveau1 
              <ul>
                <li class="FolderElem"> sous-dossier niveau3 
                  <ul>
                    <li class="FolderElem"> sous-dossier niveau4 </li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
        </li>
      </ul>
    </div>

    et pour le css un padding de 20px affecté à la classe suffit puisque ce padding va s'ajouter au fur et à mesure des sous-dossiers.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    *{
    padding:0;
    margin:0;
    }
    #conteneur {
    	width:800px;
    	background-color:#CCC;
    }
    .FolderElem {
    	display:inline-block;
    	width:auto;
    	padding:50px;
    	border: 2px solid #F00;
    }

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/12/2006, 14h09
  2. Réponses: 6
    Dernier message: 20/07/2006, 11h25
  3. Réponses: 8
    Dernier message: 08/06/2006, 17h05
  4. Réponses: 9
    Dernier message: 30/03/2006, 16h44
  5. Réponses: 4
    Dernier message: 31/10/2005, 17h48

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