De Style CSS si pas d'enfants

J'ai besoin d'appliquer un style à un élément si une classe n'est PAS un enfant de l'élément.

<table class="printlist" style="width:100%">
  <tbody>
    <tr class="list_wanted0"><td>Whatever...</td></tr>
    <tr class="list_wanted1"><td>
      <div class="journal">
        <table><tbody>
          <tr><td style="width: 9em">2011-03-12 09:36</td></tr>
        </tbody></table>
      </div>
    </td></tr>
  </tbody>
</table>

L'exemple ci-dessus est réduite à un minimum, afin de démontrer la structure.

Ce que je veux, c'est avoir la :Hover propriétés seulement d'appliquer .printlist tr si <tr> a PAS .journal enfant.

La .list_wanted0 et .list_wanted1 ne peut pas être utilisé pour sélectionner le .journal, il peut être d'autres noms de classe là.

Le CSS, j'ai essayé:

.printlist tr:Hover * :not(itemjournal) {
  color: #000;
  background: #aaa
}

Évidemment, cela ne fonctionne pas comme j'en avais l'intention.

Si vous avez besoin de plus d'informations, n'hésitez pas à demander,
Merci.

Vous ne pouvez pas le style d'un ancêtre en fonction de ses enfants avec CSS; vous pouvez utiliser JavaScript (ou une bibliothèque) pour appliquer un nom de classe ou d'ajouter des styles en fonction d'une telle condition, mais pas avec css.

OriginalL'auteur Max Kielland | 2011-03-12