Kann eine CSS-Klasse eine oder mehrere andere Klassen erben?


736

Ich fühle mich dumm, so lange ein Webprogrammierer gewesen zu sein und die Antwort auf diese Frage nicht zu kennen. Ich hoffe tatsächlich, dass es möglich ist und ich wusste nur nicht, was ich denke, ist die Antwort (was ist, dass es nicht möglich ist). .

Meine Frage ist, ob es möglich ist, eine CSS-Klasse zu erstellen, die von einer anderen CSS-Klasse (oder mehreren) "erbt".

Nehmen wir zum Beispiel an, wir hätten:

.something { display:inline }
.else      { background:red }

Was ich gerne machen würde, ist ungefähr so:

.composite 
{
   .something;
   .else
}

Dabei würde die Klasse ".composite" sowohl inline angezeigt als auch einen roten Hintergrund haben


3
Denken Sie mehr über Kaskadierung als über Vererbung nach, es gilt hier nicht
Blu

Antworten:


427

Es gibt Tools wie WENIGER , mit denen Sie CSS auf einer höheren Abstraktionsebene erstellen können , ähnlich wie Sie es beschreiben.

Weniger nennt diese "Mixins"

Anstatt

/* CSS */
#header {
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
}

#footer {
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
}

Du könntest sagen

/* LESS */
.rounded_corners {
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
}

#header {
  .rounded_corners;
}

#footer {
  .rounded_corners;
}

37
wow, WENIGER ist ziemlich genau das, wonach ich suche ... es ist eine Schande, dass es nicht nativ unterstützt wird und dass es in Ruby geschrieben ist (ich verwende ASP.NET MVC)
Joel Martinez

1
Ja, ich bin auch in der ASP.NET-Welt, also habe ich es nicht in meinen Produktionsworkflow verschoben.
Larsenal

Weniger ist schön und verlockend ... aber ich habe es mit CSSEdit im selben Workflow nicht sehr erfolgreich verwendet - daher habe ich es noch nicht vollständig übernommen.
Ryan Florence

1
Ja, WENIGER ist ziemlich süß, nicht wahr? Ich habe hier tatsächlich an einem .NET-Port gearbeitet: nlesscss.codeplex.com .
Owen

77
Falls Sie dies über Google erreichen: Der .Net-Port ist jetzt hier
Eonasdan

310

Sie können einem einzelnen DOM-Element mehrere Klassen hinzufügen, z

<div class="firstClass secondClass thirdclass fourthclass"></div>

Regeln, die in späteren Klassen angegeben werden (oder die spezifischer sind), werden außer Kraft gesetzt. So fourthclassherrscht in diesem Beispiel die Art vor.

Vererbung ist nicht Teil des CSS-Standards.


12
Wissen Sie, ob welche Klasse die letzte oder die erste Klasse ist und ob das Verhalten browserübergreifend sicher ist? Nehmen wir an, wir haben .firstClass {font-size:12px;} .secondClass {font-size:20px;}dann endgültig font-sizesein 12pxoder 20pxund das ist Cross - Browser sicher?
Marco Demaio

27
Die Regel mit der höchsten Spezifität auf dem Selektor gewinnt. Es gelten Standard-Spezifitätsregeln. In Ihrem Beispiel gewinnt die später im CSS deklarierte Regel, da "first" und "second" dieselbe Spezifität haben.
Matt Bridges

19
Ich mag die Idee, reines CSS (anstelle von WENIGER) zu verwenden, um dieses Problem zu lösen.
Alex

8
Ich mag auch die Idee, nicht mehrere Klassen mehrmals auszutippen - Was ist O (n ^ 2) Arbeit :)
Geheime

3
Was ist, wenn ich eine Drittanbieter-Bibliothek verwende und das von ihr bereitgestellte Design / HTML ändern möchte, aber die eingebauten CSS-Dateien in dieser Bibliothek nicht ändern kann? Dort würde ich eine Art Vererbung in CSS-Klassen brauchen.
Shivam

112

Ja, aber nicht genau mit dieser Syntax.

.composite,
.something { display:inline }

.composite,
.else      { background:red }

7
Das ist scheiße, aber ich bin froh, dass wir das wenigstens haben!
Pacerier

3
Warum ist es scheiße? es scheint sehr gut zu sein. Ich kann den Unterschied zwischen dem Kommasymbol und der less.js-Lösung nicht verstehen.
Revious

21
Denn wenn sich die Klassen .something und .else in unterschiedlichen Dateien befinden und Sie sie nicht ändern können, stecken Sie fest.
Alexandre Mélard

8
Dies war die richtige Antwort, da die Frage mit reiner CSS-Syntax beantwortet wurde. Die weniger Antwort ist jedoch gut zu wissen.
Raddevus

1
Dies sollte die ausgenommene Antwort sein.
eaglei22

66

Halten Sie Ihre gemeinsamen Attribute zusammen und weisen Sie bestimmte Attribute erneut zu (oder überschreiben Sie sie).

/*  ------------------------------------------------------------------------------ */   
/*  Headings */ 
/*  ------------------------------------------------------------------------------ */   
h1, h2, h3, h4
{
    font-family         : myfind-bold;
    color               : #4C4C4C;
    display:inline-block;
    width:900px;
    text-align:left;
    background-image: linear-gradient(0,   #F4F4F4, #FEFEFE);/* IE6 & IE7 */
}

h1  
{
    font-size           : 300%;
    padding             : 45px 40px 45px 0px;
}

h2
{
    font-size           : 200%;
    padding             : 30px 25px 30px 0px;
}

2
Dies kommt einer idealen Lösung sehr nahe. Ich hoffe, die Leute werden sie nicht verwerfen, nur weil sie nur wenige Stimmen erhalten hat. Tatsächlich ist eines der schwierigsten Probleme bei der "CSS-Vererbung", dass Sie normalerweise eine bereits erstellte, riesige Web-Software (z. B. eine E-Commerce- oder eine Blog-PHP-berühmte Software) erhalten und PHP-Code verwenden, der von Haus aus gewonnen hat. t Fügen Sie den ausgegebenen HTML-Elementen mehrere Klassen hinzu. Dies zwingt Sie dazu, sich mit dem Quellcode zu beschäftigen (Änderungen zu verlieren, wenn Sie später ein Upgrade durchführen), damit diese zusätzlichen Klassen ausgegeben werden. Mit diesem Ansatz bearbeiten Sie stattdessen immer nur die CSS-Datei!
Dario Fumagalli

3
Genau das habe ich gesucht. Ist es nichts wert, dass dieser Ansatz auch mit CSS-Selektoren funktioniert? Anstatt anzugeben h1, h2, etc, könnten Sie angeben.selector1, .selector2, .etc
JeffryHouser

Ich wollte kommentieren, dass dies genau der Ansatz ist, den w3 in seinem empfohlenen Standard-HTML- Stylesheet verwendet : [w3 CSS2]: w3.org/TR/CSS2/sample.html . Ich versuche auch zu verstehen, wie CSS-Code organisiert wird, und es scheint, dass das Paradigma im Vergleich zur typischen objektorientierten Vererbung invertiert ist: Sie verwenden Klassen (oder allgemeiner Selektoren), um anzugeben, welche Elemente welche Attribute erben. Sie erben jedoch Attribute (zumindest kann die Hierarchie auf diese Weise am einfachsten logisch existieren) und überschreiben dann bei Bedarf Attribute an den spezifischeren Selektoren.
Nathan Chappell

51

Ein Element kann mehrere Klassen annehmen:

.classOne { font-weight: bold; }
.classTwo { font-famiy:  verdana; }

<div class="classOne classTwo">
  <p>I'm bold and verdana.</p>
</div>

Und das ist ungefähr so ​​nah, wie Sie es leider bekommen werden. Ich würde dieses Feature gerne zusammen mit Klassen-Aliasnamen eines Tages sehen.


45

Nein, so etwas kann man nicht machen

.composite 
{
   .something;
   .else
}

Dies sind keine "Klassennamen" im OO-Sinne. .somethingund .elsesind nur Selektoren nichts mehr.

Sie können jedoch entweder zwei Klassen für ein Element angeben

<div class="something else">...</div>

oder Sie könnten eine andere Form der Vererbung untersuchen

.foo {
  background-color: white;
  color: black;
}

.bar {
  background-color: inherit;
  color: inherit;
  font-weight: normal;
}
<div class="foo">
  <p class="bar">Hello, world</p>
</div>

Wo die Absätze Hintergrundfarbe und Farbe von den Einstellungen im umschließenden div geerbt werden, das .foogestaltet ist. Möglicherweise müssen Sie die genaue W3C-Spezifikation überprüfen. inheritist ohnehin Standard für die meisten Eigenschaften, aber nicht für alle.


1
Ja, dies (erster Teil) war meine Erwartung, als ich im 20. Jahrhundert zum ersten Mal von CSS hörte ... und wir haben es immer noch nicht, sie brennen Leistung auf einigen dynamischen Dingen, während dies statisch komponiert werden kann, kurz bevor das CSS angewendet wird und es ersetzt die Notwendigkeit von Variablen (statische "Variablen")
neu-rah

30

Ich bin auf dasselbe Problem gestoßen und habe schließlich eine JQuery-Lösung verwendet, um den Eindruck zu erwecken, dass eine Klasse andere Klassen erben kann.

<script>
    $(function(){
            $(".composite").addClass("something else");
        });
</script>

Dadurch werden alle Elemente mit der Klasse "zusammengesetzt" gefunden und die Klassen "etwas" und "sonst" zu den Elementen hinzugefügt. So etwas <div class="composite">...</div>wird so enden:
<div class="composite something else">...</div>


1
Das Problem bei dieser Lösung besteht darin, dass sie für alle vorhandenen Steuerelemente gilt. Wenn Sie das Steuerelement nach diesem Aufruf erstellen, verfügt es nicht über die neue Klasse.
LuisEduardoSP

27

Der SCSS- Weg für das gegebene Beispiel wäre ungefähr so:

.something {
  display: inline
}
.else {
  background: red
}

.composite {
  @extend .something;
  @extend .else;
}

Weitere Informationen finden Sie in den Sass-Grundlagen


Was ist der Mehrwert im Vergleich dazu? .composite,.something { display:inline }und.composite,.else { background:red }
Pavel Gatnar

2
@PavelGatnar Sie können die Definitionen von .somethingund .elsein anderen CSS-Definitionen wiederverwenden .
Alter Lagos

16

Das Beste, was Sie tun können, ist dies

CSS

.car {
  font-weight: bold;
}
.benz {
  background-color: blue;
}
.toyota {
  background-color: white;
}

HTML

<div class="car benz">
  <p>I'm bold and blue.</p>
</div>
<div class="car toyota">
  <p>I'm bold and white.</p>
</div>

12

Vergiss nicht:

div.something.else {

    // will only style a div with both, not just one or the other

}

1
Ich suche nicht danach, aber das war konstruktiv für mich n__n
AgelessEssence

7

In der CSS-Datei:

p.Title 
{
  font-family: Arial;
  font-size: 16px;
}

p.SubTitle p.Title
{
   font-size: 12px;
}

2
Was wird das Ergebnis sein font-size?
Abatishchev

Die Schriftgröße für "p.Title" beträgt 12px, da sie nach der ersten in der Datei definiert ist. Es überschreibt die erste Schriftgröße.
YWE

@YWE: Bedeutet das, dass die Erklärungen im Gegensatz zu dem, was in dieser Antwort geschrieben steht, eigentlich umgekehrt sein sollten (zumindest, wenn wir das Beispiel veranschaulichen wollen)? Wenn die zuletzt definierte vorherrscht, font-size: 16pxkann die niemals wirksam werden, oder?
ODER Mapper

@ORMapper - In der Regel befindet sich die erste Deklaration in einer gemeinsamen CSS-Datei, die von mehreren Seiten gemeinsam genutzt wird. Dann befindet sich die zweite Deklaration in einer zweiten CSS-Datei, die nur auf bestimmten Seiten verwendet wird. Und nach der gemeinsamen CSS-Datei importiert . Diese Seiten verwenden also den "zuletzt gesehenen" Wert von 12px.
ToolmakerSteve

7

Mir ist klar, dass diese Frage jetzt sehr alt ist, aber hier geht nichts!

Wenn die Absicht besteht, eine einzelne Klasse hinzuzufügen, die die Eigenschaften mehrerer Klassen impliziert, würde ich als native Lösung die Verwendung von JavaScript / jQuery empfehlen (jQuery ist wirklich nicht erforderlich, aber sicherlich nützlich).

Wenn Sie zum Beispiel haben, .umbrellaClassdass "erbt" von .baseClass1und .baseClass2Sie könnten etwas JavaScript haben, das auf bereit ist.

$(".umbrellaClass").addClass("baseClass1");
$(".umbrellaClass").addClass("baseClass2");

Jetzt haben alle Elemente von .umbrellaClasswill alle Eigenschaften von beiden .baseClasss. Beachten Sie, dass die Vererbung wie die OOP-Vererbung .umbrellaClassmöglicherweise eigene Eigenschaften hat oder nicht.

Die einzige Einschränkung besteht darin, zu prüfen, ob dynamisch Elemente erstellt werden, die beim Auslösen dieses Codes nicht vorhanden sind. Es gibt jedoch auch einfache Möglichkeiten, dies zu umgehen.

Sucks CSS hat jedoch keine native Vererbung.


1
Dieser Ansatz wurde bereits in der Antwort von @ DHoover aus dem Jahr 2013 vorgeschlagen.
Bryan

6

Perfektes Timing : Ich ging von dieser Frage zu meiner E-Mail, um einen Artikel über Less zu finden , eine Ruby-Bibliothek, die unter anderem Folgendes tut:

Da es super genauso aussieht footer, aber mit einer anderen Schriftart, verwende ich die Klasseneinbeziehungstechnik von Less (sie nennen es ein Mixin), um anzuweisen, dass auch diese Deklarationen enthalten sein sollen:

#super {
  #footer;
  font-family: cursive;
}

Gerade als ich dachte, WENIGER könnte mich nicht mehr überraschen ... Ich hatte keine Ahnung, dass Sie Formatierungen aus einem anderen Block wie diesem importieren könnten. Toller Tipp.
Daniel Rippstein

4

Leider bietet CSS keine "Vererbung" wie Programmiersprachen wie C ++, C # oder Java. Sie können eine CSS-Klasse nicht deklarieren und dann um eine andere CSS-Klasse erweitern.

Sie können jedoch mehr als eine einzelne Klasse auf ein Tag in Ihrem Markup anwenden. In diesem Fall gibt es ein ausgeklügeltes Regelwerk, das bestimmt, welche tatsächlichen Stile vom Browser angewendet werden.

<span class="styleA styleB"> ... </span>

CSS sucht nach allen Stilen, die basierend auf Ihrem Markup angewendet werden können, und kombiniert die CSS-Stile aus diesen mehreren Regeln miteinander.

Normalerweise werden die Stile zusammengeführt, aber wenn Konflikte auftreten, gewinnt der später deklarierte Stil im Allgemeinen (es sei denn, das Attribut! Important ist für einen der Stile angegeben. In diesem Fall gewinnt dieser). Stile, die direkt auf ein HTML-Element angewendet werden, haben Vorrang vor CSS-Klassenstilen.


Ihre Antwort kam als erstes Ergebnis bei Google für mich und war hilfreich. Trotzdem habe ich einen Tipp für Sie: Wenn Sie eine Lösung anbieten, ist es am besten, Sätze nicht negativ zu beginnen (CSS bietet leider keine Vererbung.) Ich weiß, dass jeder mit angemessener Geduld weiterlesen würde, um Ihre nette Lösung zu finden Aber manchmal geht den Menschen die Geduld aus und sie kommen zu dem Schluss, dass das, was sie versuchen, unmöglich ist. Um die beste Chance zu haben, anderen zu helfen, könnten Sie mit etwas wie "CSS hat zwar keine Vererbung, aber Sie können das erreichen, was Sie brauchen, indem Sie ..." beginnen
egmfrs


4

Das ist in CSS nicht möglich.

Das einzige, was in CSS unterstützt wird, ist spezifischer als eine andere Regel:

span { display:inline }
span.myclass { background: red }

Ein Bereich mit der Klasse "myclass" hat beide Eigenschaften.

Eine andere Möglichkeit besteht darin, zwei Klassen anzugeben:

<div class="something else">...</div>

Der Stil von "else" überschreibt (oder fügt) den Stil von "etwas" hinzu


Für alle Stile in einer Datei gibt es eine vererbungsähnliche Lösung in CSS, siehe meinen Beitrag.
Pavel Gatnar

3

Sie können mehr als eine CSS-Klasse auf ein Element anwenden, indem Sie diese Klasse = "etwas anderes" verwenden.


3

Wie andere bereits gesagt haben, können Sie einem Element mehrere Klassen hinzufügen.

Aber das ist nicht wirklich der Punkt. Ich bekomme Ihre Frage zur Vererbung. Der eigentliche Punkt ist, dass die Vererbung in CSS nicht über Klassen, sondern über Elementhierarchien erfolgt. Um geerbte Merkmale zu modellieren, müssen Sie sie auf verschiedene Elementebenen im DOM anwenden.


Es ist besser, vererbungsähnliche CSS-Definitionen zu erstellen, als die gesamte Kompositionsklassenkette zu verwenden (siehe meinen Beitrag).
Pavel Gatnar

2

Ich habe das auch wie verrückt gesucht und es einfach herausgefunden, indem ich verschiedene Dinge ausprobiert habe: P ... Nun, so kannst du es machen:

composite.something, composite.else
{
    blblalba
}

Es hat plötzlich bei mir funktioniert :)


2

Unter bestimmten Umständen können Sie eine "weiche" Vererbung durchführen:

.composite
{
display:inherit;
background:inherit;
}

.something { display:inline }
.else      { background:red }

Dies funktioniert nur, wenn Sie die .composite-Klasse einem untergeordneten Element hinzufügen. Es handelt sich um eine "weiche" Vererbung, da alle in .composite nicht angegebenen Werte nicht offensichtlich vererbt werden. Denken Sie daran, es wären immer noch weniger Zeichen, einfach "Inline" und "Rot" anstelle von "Erben" zu schreiben.

Hier ist eine Liste der Eigenschaften und ob sie dies automatisch tun oder nicht: https://www.w3.org/TR/CSS21/propidx.html


2

Eine direkte Vererbung ist zwar nicht möglich.

Es ist möglich, eine Klasse (oder ID) für ein übergeordnetes Tag zu verwenden und dann CSS-Kombinatoren zu verwenden, um das Verhalten von untergeordneten Tags aus der Hierarchie zu ändern.

p.test{background-color:rgba(55,55,55,0.1);}
p.test > span{background-color:rgba(55,55,55,0.1);}
p.test > span > span{background-color:rgba(55,55,55,0.1);}
p.test > span > span > span{background-color:rgba(55,55,55,0.1);}
p.test > span > span > span > span{background-color:rgba(55,55,55,0.1);}
p.test > span > span > span > span > span{background-color:rgba(55,55,55,0.1);}
p.test > span > span > span > span > span > span{background-color:rgba(55,55,55,0.1);}
p.test > span > span > span > span > span > span > span{background-color:rgba(55,55,55,0.1);}
p.test > span > span > span > span > span > span > span > span{background-color:rgba(55,55,55,0.1);}
<p class="test"><span>One <span>possible <span>solution <span>is <span>using <span>multiple <span>nested <span>tags</span></span></span></span></span></span></span></span></p>

Ich würde nicht vorschlagen, so viele Bereiche wie im Beispiel zu verwenden, aber es ist nur ein Proof of Concept. Es gibt immer noch viele Fehler, die auftreten können, wenn Sie versuchen, CSS auf diese Weise anzuwenden. (Zum Beispiel Ändern von Textdekorationstypen).


2

Less und Sass sind CSS-Vorprozessoren, die die CSS-Sprache auf wertvolle Weise erweitern. Nur eine von vielen Verbesserungen, die sie anbieten, ist genau die Option, nach der Sie suchen. Es gibt einige sehr gute Antworten mit Less und ich werde die Sass-Lösung hinzufügen.

Sass verfügt über eine Erweiterungsoption, mit der eine Klasse vollständig auf eine andere erweitert werden kann. Weitere Informationen zu Extend finden Sie in diesem Artikel



1

CSS macht nicht wirklich das, was Sie verlangen. Wenn Sie Regeln für diese zusammengesetzte Idee schreiben möchten, sollten Sie den Kompass überprüfen . Es ist ein Stylesheet-Framework, das dem bereits erwähnten Less ähnelt.

Damit können Sie Mixins und all das gute Geschäft machen.


Compass aka Sass fügt über Extend, PlaceHolders Mixins vs Extend weitere Details hinzu, detailliertere Informationen über PlaceHolders
Abhijeet

1

Für diejenigen, die mit den genannten (ausgezeichneten) Beiträgen nicht zufrieden sind, können Sie Ihre Programmierkenntnisse nutzen, um eine Variable (PHP oder was auch immer) zu erstellen und die mehreren Klassennamen speichern zu lassen.

Das ist der beste Hack, den ich mir vorstellen kann.

<style>
.red { color: red; }
.bold { font-weight: bold; }
</style>

<? define('DANGERTEXT','red bold'); ?>

Wenden Sie dann die globale Variable auf das gewünschte Element an und nicht auf die Klassennamen selbst

<span class="<?=DANGERTEXT?>"> Le Champion est Ici </span>


1

Stellen Sie sich CSS- Klassen nicht als objektorientierte Klassen vor, sondern als bloßes Werkzeug unter anderen Selektoren, um anzugeben, nach welchen Attributklassen ein HTML-Element gestaltet ist. Stellen Sie sich alles zwischen den geschweiften Klammern als Attributklasse vor , und Selektoren auf der linken Seite teilen den Elementen mit, dass sie Attribute von der Attributklasse erben sollen . Beispiel:

.foo, .bar { font-weight : bold; font-size : 2em; /* attribute class A */}
.foo { color : green; /* attribute class B */}

Wenn ein Element des Attribut gegeben ist class="foo", ist es sinnvoll , daran zu denken nicht als Attribut von Klasse zu erben .foo, sondern von Attributklasse A und Attributklasse B . Das heißt, der Vererbungsgraph ist eine Ebene tief, wobei Elemente aus Attributklassen stammen und die Selektoren angeben, wohin die Kanten gehen, und den Vorrang bestimmen, wenn konkurrierende Attribute vorhanden sind (ähnlich der Reihenfolge der Methodenauflösung).

Geben Sie hier die Bildbeschreibung ein

Die praktische Implikation für die Programmierung ist dies. Angenommen, Sie haben das oben angegebene Stylesheet und möchten eine neue Klasse hinzufügen .baz, in der sie dieselbe haben sollte font-sizewie .foo. Die naive Lösung wäre folgende:

.foo, .bar { font-weight : bold; font-size : 2em; /* attribute class A */}
.foo { color : green; /* attribute class B */}
.baz { font-size : 2em; /* attribute class C, hidden dependency! */}

Geben Sie hier die Bildbeschreibung ein

Jedes Mal, wenn ich zweimal etwas tippen muss, werde ich so wütend! Ich muss es nicht nur zweimal schreiben, jetzt kann ich das nicht programmatisch anzeigen .foound .bazsollte es auch haben font-size, und ich habe eine versteckte Abhängigkeit geschaffen! Mein obiges Paradigma würde vorschlagen, dass ich das font-sizeAttribut aus der Attributklasse A abstrahieren sollte :

.foo, .bar, .baz { font-size : 2em; /* attribute base class for A */}
.foo, .bar { font-weight : bold; /* attribute class A */}
.foo { color : green; /* attribute class B */}

Geben Sie hier die Bildbeschreibung ein

Die Hauptbeschwerde hier ist, dass ich jetzt jeden Selektor aus der Attributklasse A erneut eingeben muss, um anzugeben, dass die Elemente, die sie auswählen sollen, auch Attribute aus der Attributbasisklasse A erben sollen . Die Alternativen bestehen jedoch darin, sich daran zu erinnern, jede Attributklasse zu bearbeiten, in der bei jeder Änderung versteckte Abhängigkeiten bestehen, oder ein Drittanbieter-Tool zu verwenden. Die erste Option bringt Gott zum Lachen, die zweite bringt mich dazu, mich umzubringen.


0

Wenn Sie einen leistungsstärkeren Textvorprozessor als WENIGER wünschen, lesen Sie den PPWizard:

http://dennisbareis.com/ppwizard.htm

Die Warnung, dass die Website wirklich abscheulich ist und eine kleine Lernkurve aufweist, eignet sich jedoch perfekt zum Erstellen von CSS- und HTML-Code über Makros. Ich habe nie verstanden, warum mehr Webcodierer es nicht verwenden.


11
Die Website ist wirklich schrecklich.
Nanofarad

Ein bisschen ironisch auf einer Website für einen HTML-Prozessor!
Ben Thurley

2
Ja, die Website ist abscheulich, aber es ist mehr als nur das. Es ist schwer zu lesen und mein Kopf tut auch weh!
ArtOfWarfare

1
Eine gute Sache, dass es mit Windows 3.1 bis XP kompatibel ist, lol
Alter Lagos

Ein bizarres, nicht standardmäßiges Tool.
Berkus

-6

Sie können erreichen, was Sie wollen, wenn Sie Ihre .css-Dateien über PHP vorverarbeiten. ...

$something='color:red;'
$else='display:inline;';
echo '.something {'. $something .'}';
echo '.else {'. $something .'}';
echo '.somethingelse {'. $something  .$else '}';

...

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.