concaténer des valeurs en moins (css) sans espace

Donc je suis en train de faire une MOINS mixin qui prend un nombre de degrés de rotation) et la sortie correcte css pour faire pivoter l'élément. Le problème est, je ne peux pas trouver un moyen d'écrire à la fois "270deg" et "3" (270/90) pour IE. Voici les choses que j'ai essayé:

.rotate(@rotation: 0) {
    @deg: deg;
    -webkit-transform: rotate(@rotation deg); //i can see why this doesn't work
    -moz-transform: rotate((@rotation)deg); //parens
    -o-transform: rotate(@rotation+deg); //variable-keyword concatenation
    transform: rotate(@rotation+@deg); //variable-variable concatenation

    //this is the reason I need @rotation to be just a number:
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation/90);
}

.someElement {
    .rotate(270)
}

Pour l'instant j'ai juste modifié le compilateur de script, de sorte qu'il n'a pas mis un espace entre la variable/mot de concaténation. J'espère theres une meilleure solution.

  • Pourquoi ne pas l'appeler comme: .rotate(270deg) ? C'est à cause de l'IE chose?
  • Oui, c'est la cause de l'IE chose
  • Intérêt, quel est le réel avantage de MOINS, ne semble pas vraiment faire une grande différence dans la longueur de code. Certaines fonctions semblent redondants comme la plupart des styles, je travaille ne sont pas dynamiques. Je peux voir que le changement de la valeur d'une couleur en un seul endroit serait bien, mais trouver et remplacer n'est qu'occasionnelle travail d'édition, sans addition (apparemment inutiles) JavaScript charge.
  • Si vous utilisez CSS pour rien, mais les plus élémentaires de style, vous trouverez rapidement qu'il prend presque 0 avantage de code/style de symétrie, et vous oblige à construire difficile à maintenir des styles - surtout si vous avez des styles qui dépendent l'un sur l'autre (permet de dire que vous voulez que la couleur d'un élément à être légèrement plus foncée que l'autre élément, ou vous avez besoin de taille de police, positionnement, etc). Si paramétré mixin comme le .tourner un que j'ai écrit ci-dessus n'est pas piqué votre intérêt, peut-être que les choses que vous travaillez est tellement simple que vous n'avez pas besoin de vous soucier de l'entretien.
  • Oh, je suis aussi à l'aide de less.php - si theres pas de javascript se charger. Le moins est traduite en css, la mise en cache, et envoyé au navigateur à la demande normale de la css. Aussi, avec less.php @importations en moins de tous les traduire en un seul fichier css, afin de ne pas obtenir à l'importation de chaînage avec votre navigateur avoir besoin de demander à chaque enchaîné importer individuellement. Cela réduit à la fois la charge et le temps de latence.
  • au lieu de concaténation, l'utilisation des mathématiques: -webkit-transform(@rotation * 1deg). Sur mon propre projet, j'ai passé environ 30 minutes à essayer de comprendre comment concaténer @num avec % et il vient de me frapper. il suffit de multiplier @num * 1%!!

InformationsquelleAutor B T | 2011-05-17