2016-04-22 14 views
-1

ich css bin mit denen diese Art definiert istVerschachtelte Klassen in CSS anderen Stil von weniger verschachtelten Stil

.main> .test{ 
display: block; 
background:#FFFFFF 
} 

Dieser Stil in der Datei gespeichert ist, die ich will nicht ändern. Meine neue HTML-Struktur ist

<div class="main"> 
    <form> 
    <div class="test"> 
    ... 
    </div> 
    </form> 
</div> 

In diesem Fall wird Stil nicht angewendet. Meine Frage ist: Ist es möglich, eine solche CSS zu definieren, wenn

.main> form> .test{  
} 

Styling Gebrauch ist, wie es in „.main> .test“ ohne Kopieren und Einfügen Inhalt solcher Art

+0

Leider kein ist es nicht möglich. –

+0

Warum kopieren einfügen, können Sie CSS nicht direkt in der Klasse verwenden? https://jsfiddle.net/#&togetherjs=nSjaGVoscw –

+0

Verwendung von CSS-Selektor ohne '>' ist keine Variante? '.main .test' wird auf alle' test' Elemente in 'main' angewendet, nicht nur direkt untergeordnete Elemente. – Julia

Antwort

0

Einfache Antwort

definiert ist

Mit Klar CSS Sie nicht

eine Klasse oder Verwendung Vererbung zwischen Klassen erweitern -

Lösungsvorschlag

Sie können das mit einem CSS-Präprozessor wie Sass tun, indem Sie das Schlüsselwort @extend verwenden.

Code-Beispiel:

.message { 
    padding: .5em; 
} 

.message-error { 
    @extend .message; 
} 

Weitere Informationen über seine Verwendung here

+0

Es ist fast das, was ich suche, aber es funktioniert nicht mit geschachtelten Selektoren. Aber danke – cin