2013-06-02 2 views
1

J'espérais que je pouvais faire quelque chose comme cela, mais cela ne fonctionne pas pour deux raisonsSASS n'aime pas le fonctionnement variables en ligne et multiplier par 0

  • D'abord, il n'aime pas le i $ - 1 qui me donne « variable non valide »
  • alors il n'aime pas multiplier 0 par 10

Je l'ai travail en déclarant une autre variable pour faire mon -1 alors une instruction if pour effectuer cette si ce n » t = 0 mais c'est devenu très vite moche!

@for $i from 1 through 10 
    .num-#{$i} 
    margin: 0 #{($i-1)*10}px 

Répondre

4

Eh bien, cela fonctionne pour moi:

@for $i from 1 through 10 
    .num-#{$i} 
     margin: 0 #{($i * 10 - 10)}px 

Je multiplie d'abord et plus tard soustrait. Mais avez-vous essayé d'ajouter des espaces? Comme:

$i - 1 

au lieu de $ i-1

Parce que je pense SASS est interpretating comme une variable unique au lieu d'une opération.

+0

ah merci! Cela semble fonctionner. Qu'en est-il de la multiplication 0, je ne vois pas pourquoi c'est un problème, 0 * un nombre est 0 pourquoi est-ce une erreur? – user391986

+0

Ce n'est pas le cas, je pense qu'il est déroutant "$ i-1" pour une variable, au lieu de faire l'opération $ i "moins" 1. Je l'ai essayé moi-même, et l'erreur que sass a donnée était que $ i-1 était une variable indéfinie. Mais qu'est-ce qui donne. Je suis content d'avoir pu aider. –

+0

ah raison, merci !! – user391986

Questions connexes