it-swarm.com.de

CSS Intelligent Merger

Ich suche nach einem Tool, das dem folgenden sehr ähnlich ist: http://www.tothepc.com/archives/combine-merge-multiple-css-files/

In diesem Beispiel jedoch:

test1.css:

#admin {
    background: #c9d2dc;
    border-color: #ccc
}

test2.css:

#admin {
    background: #222;
    border-bottom: 1px solid #444;
    border-left: 1px solid #444;
    padding: 2px;
    position: fixed;
    right: 0px;
    top: 0px;
    width: 120px;
    z-index: 2
}

Sie können nur das eine oder das andere auswählen. Ich möchte sie zusammenführen und daraus machen:

#admin {
    background: #c9d2dc;
    border-color: #ccc
    border-bottom: 1px solid #444;
    border-left: 1px solid #444;
    padding: 2px;
    position: fixed;
    right: 0px;
    top: 0px;
    width: 120px;
    z-index: 2
}
2
ParoX

Das Merger-Tool sollte Optionen für Sie bereitstellen, wenn dieselben IDs/Klassen in verschiedenen CSS-Dateien gefunden werden. In diesem Fall können Sie sie jedoch nicht zusammenführen. In Beispiel 1 haben Sie die ID "admin" mit dem Hintergrund # 222. In Beispiel 2 hat dieselbe ID den Hintergrund # c952dc. Die Fusion kann nicht mehrere Attribute zusammenfassen, da Ihre CSS-Datei nicht gültig ist. Jede Klasse/ID sollte, unabhängig davon, in welcher Datei sie vorhanden ist, nur eine Instanz eines bestimmten Attributs haben.

1
SubTypical

Edit: Mein ursprünglicher Kommentar war, dass dies keine unmögliche Aufgabe ist. Dies ist jedoch falsch: Da auf ein einzelnes Element auf verschiedene Arten verwiesen werden kann, kann man im Allgemeinen nichts Besseres tun, als die Dateien zu verketten. Erwägen...

<div id="one" class="two">Some text</div>

mit CSS

#one {color: red; font-weight: 900;}
.two {color: blue;)

.two {font-weight: 500;}
#one {color: green}

Dies sollte zu grünem Text mit einem Gewicht von 500 führen. Wenn Sie zuerst einen zusammengeführten .two eingeben, erhalten Sie Green 900, wenn Sie zuerst den zusammengeführten #one eingeben, erhalten Sie Blue 500. Weder ist richtig noch Da Sie nicht wissen, dass sich die beiden Selektoren auf dasselbe Element beziehen, können Sie nicht auf die richtige Antwort schließen.

0
Kim SJ