2010-10-22 4 views
1

Existe-t-il un moyen rapide en CSS de supprimer tous les styles appliqués à un élément? Par exemple, dire un menu à onglets de quelque sorte:Élément CSS de retour au style par défaut

<div class='outer'> 
    <div id='d1'></div> 
    <div id='d2'></div> 
    <div id='d3'></div> 
    <div id='d4'></div> 
</div> 

Le CSS est appliqué ...

.outer { foo:blee; bar:blah; bas-bloo:snork; /*...long long list...*/ }

Maintenant, je veux #d3 (par exemple) pour revenir au style par défaut, mais Je ne veux pas explicitement unset tous les styles de parents:

#d3 { remove-styles:all } /* <- [I made this up, obviously] */

rêve pipe ou possibi lité?

Répondre

3

En CSS3, oui. Vous pouvez utiliser le negation pseudo-class:

.outer:not(#d3) { foo:blee; etc etc } 

Trop mauvais support de CSS3 est un peu défaut au moment avec la plupart des navigateurs ...

Avec CSS niveau inférieur à 3, vous êtes foutus. Pardon.

+0

Pourquoi ne pas simplement le remplacer manuellement? Cette classe semble un peu inutile. Merci quand même. – Ben

+0

Dans ce cas, oui. Je pensais que vous parliez du cas général de l'exclusion des sous-éléments des styles en cascade ... – Isaac

1

Non. Possible. Il suffit de le contourner.

+0

Désolé Meder, le représentant du bas obtient le vote: s Doit aider le petit gars - il est si près de 500 aussi :) – Ben

+0

Cela fait si longtemps que je me suis senti si digne ... – Isaac

Questions connexes