Zum Beispiel, wenn ich folgendes HTML habe:
<div class="someDiv"></div>
und dieses CSS:
.opacity {
filter:alpha(opacity=60);
-moz-opacity:0.6;
-khtml-opacity: 0.6;
opacity: 0.6;
}
.radius {
border-top-left-radius: 15px;
border-top-right-radius: 5px;
-moz-border-radius-topleft: 10px;
-moz-border-radius-topright: 10px;
}
.someDiv {
background: #000; height: 50px; width: 200px;
/*** How can I reference the opacity and radius classes here
so this div has those generic rules applied to it as well ***/
}
So wie in Skriptsprachen generische Funktionen verwendet werden, die häufig oben im Skript geschrieben werden, und jedes Mal, wenn Sie diese Funktion verwenden müssen, rufen Sie einfach die Funktion auf, anstatt den gesamten Code jedes Mal zu wiederholen.
.radius
, z.radius, .another, .element{/* css*/}
. Das spart Ihnen zusätzlichen Code, macht ihn aber möglicherweise weniger lesbar.Antworten:
Nein, Sie können nicht auf einen Regelsatz aus einem anderen verweisen.
Sie können jedoch Selektoren für mehrere Regelsätze innerhalb eines Stylesheets wiederverwenden und mehrere Selektoren für einen einzelnen Regelsatz verwenden (indem Sie sie durch ein Komma trennen ).
Sie können auch mehrere Klassen auf ein einzelnes HTML-Element anwenden (das Klassenattribut verwendet eine durch Leerzeichen getrennte Liste).
Jeder dieser Ansätze sollte Ihr Problem lösen.
Es wäre wahrscheinlich hilfreich, wenn Sie Klassennamen verwenden würden, die beschreiben, warum ein Element gestylt werden sollte, anstatt wie es gestylt werden sollte. Belassen Sie das Wie im Stylesheet.
quelle
fieldset legend
anlabel.legend
. Ich verstehe aber bedauere..someDiv.other{/*style...*/}
diese Weise sind nur die Elemente betroffen, die beide Klassen habenDies ist nur möglich, wenn Sie ein erweitertes CSS wie SASS verwenden . Es ist jedoch sehr vernünftig, diese beiden zusätzlichen Klassen anzuwenden
.someDiv
.Wenn
.someDiv
es eindeutig ist, würde ich ihm auch eine ID geben und es in CSS mit der ID referenzieren.quelle
Wenn Sie bereit und in der Lage sind, ein wenig jquery zu beschäftigen, können Sie dies einfach tun:
Wenn Sie ein Javascript haben, das die Seite bereits verarbeitet, oder Sie können es irgendwo in <script> -Tags einschließen. Wenn ja, wickeln Sie das Obige in die Dokumentbereitschaftsfunktion ein:
Ich bin kürzlich beim Aktualisieren eines WordPress-Plugins darauf gestoßen. Die sie wurden geändert, wobei viele "! Wichtige" Anweisungen in der gesamten CSS verwendet wurden. Ich musste jquery verwenden, um meine Stile zu erzwingen, weil ich mich genial entschieden hatte, auf mehreren Tags! Wichtig zu erklären.
quelle
Mit dem SASS-Vorprozessor können Sie dies ganz einfach mit @extend tun.
Andernfalls können Sie auch JavaScript (jQuery) verwenden:
Am einfachsten ist es natürlich, mehrere Klassen direkt im HTML-Code hinzuzufügen
quelle
Fügen Sie einfach die Klassen zu Ihrem HTML hinzu
quelle
Ich hatte gestern dieses Problem. @ Quentins Antwort ist ok:
Aber ich habe eine Javascript-Funktion erstellt, um die Vererbung in CSS zu simulieren (wie .Net):
und gleichwertiges CSS:
und gleichwertiges HTML:
Ich habe es getestet und für mich gearbeitet, auch wenn sich Regeln in verschiedenen CSS-Dateien befinden.
quelle
Sie können die Funktion var () verwenden.
Beispiel:
quelle