2010-09-17 9 views
2

Pour le code ci-dessous:CSS Sélection multiple basée sur des parents

<div id="main"> 
    <div class="one"></div> 
    <div class="two"></div> 
    <div class="three"></div> 
</div> 

Je veux sélectionner tous les 3 divs l'intérieur par nom de classe et des parents comme ceci:

div#main div.one div.two div.three{/*apply common properties for all 3*/} 

^t pas travail.

Ceci est un exemple abstrait, donc je besoin d'une solution similaire à celle ci-dessus, des choses comme:

div#main>div{/*apply common properties for all 3*/} 

ne fonctionnerait pas dans le scénario réel cas.

Merci.

Répondre

6

Je ne pense pas que vous avez d'autre choix que cette syntaxe:

div#main div.one, 
div#main div.two, 
div#main div.three 
{/*apply common properties for all 3*/} 
+0

Merci, je le sais, mais j'espérais un raccourci s'il y en avait. Dans l'exemple réel, j'ai plus de 3 divs. – Francisc

+1

+ 1 pour une question intéressante, j'ai déjà pensé à ça, mais je n'ai rien trouvé :( – greg0ire

+0

Hm, ok, merci pour votre réponse, mon problème était qu'en plus d'avoir quelques divs de plus, leur "chemin" est comme: div # main div.something div.anotherThing div.one/two/three.h bien, je vais le faire tout le long, merci encore – Francisc

2

Je ne suis pas tout à fait sûr de ce que vous cherchez, car l'exemple est assez abstraite, cependant, vous pouvez essayer de donner chacun des enfants divise une seconde classe après leur numérotation et sélection par cela. Cela suppose que vous avez le contrôle sur la génération côté serveur/html. Par exemple:

<div id="main> 
    <div class="one other-style"></div> 
    <div class="two other-style"></div> 
    <div class="three other-style"></div> 
</div> 

div#main div.other-style { 
    font-family: 'Comic Sans MS'; 
} 

Sauf que vous n'utilisez pas réellement Comic Sans.

Cette réponse peut être un peu simpliste, mais sans en savoir un peu plus c'est tout ce que je pouvais penser!

+1

whoops, je pense que j'ai nécrosé celui-ci Désolé, j'ai oublié de vérifier la date avant de répondre, peut-être que cela aidera quelqu'un dans le futur –

+1

Pas de soucis, c'est un bon conseil. le projet sur lequel je travaillais à l'époque, mais ce que vous suggérez, c'est ce que j'utilise habituellement dans de tels cas. – Francisc

Questions connexes