Je cherche un outil très similaire à http://www.tothepc.com/archives/combine-merge-multiple-css-files/
Cependant, étant donné cet exemple:
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
}
Cela vous permettra seulement de sélectionner l'un ou l'autre. Je veux les fusionner, en le faisant:
#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
}
L'outil de fusion devrait vous donner des options lorsqu'il repère les mêmes identifiants/classes sur différents fichiers CSS, mais dans ce cas, il ne vous permettrait pas de les fusionner ensemble. Dans l'exemple 1, vous avez l'id "admin", avec l'arrière-plan défini sur # 222. Dans l'exemple 2, le même identifiant a un arrière-plan désigné par # c952dc. La fusion ne peut pas mettre plusieurs attributs ensemble, votre fichier css ne serait pas valide. Chaque classe/id, quel que soit le fichier sur lequel ils existent, ne devrait avoir qu'une seule instance d'un attribut particulier.
Edit: Mon commentaire original était que ce n’était pas une tâche impossible. mais en réalité, c'est faux: puisqu'un seul élément peut être référencé de plusieurs manières, dans le cas général, on ne peut pas faire mieux que concaténer les fichiers. Considérer...
<div id="one" class="two">Some text</div>
avec CSS
#one {color: red; font-weight: 900;}
.two {color: blue;)
.two {font-weight: 500;}
#one {color: green}
Cela devrait aboutir au texte vert pesant 500. Si vous mettez un .two
fusionné en premier, vous obtenez Green 900, si vous mettez le #one
fusionné en premier, vous obtenez Blue 500. Comme vous ne savez pas que les deux sélecteurs se réfèrent au même élément, vous ne pouvez pas déduire la réponse correcte.