减:在字符串上加一个数字

严塔库舍维奇

我需要提取字符串的一部分并为其添加数字。这是我的代码:

.sprite-position-offset(@sprite; @offset-x; @offset-y) {
  @sprite-offset-x: ~`"@{sprite}".split(', ')[2]` + @offset-x;
  @sprite-offset-y: ~`"@{sprite}".split(', ')[3]` + @offset-y;
  background-position: @sprite-offset-x  @sprite-offset-y;
}

的结果

~`"@{sprite}".split(', ')[2]`

100px,例如。

在上面的示例中,我得到了Unrecognised input in file错误。

我该如何实现?

哈里

有两种方法可以实现此目的。下面的第一个选项是更简单,更好的选项,因为它使用了内置extract功能。

选项1:

.sprite-position-offset(@offset-x; @offset-y; @sprite...) { /* the mixin */
    @sprite-offset-x: extract(@sprite,3) + @offset-x; /* calculate x offset */
    @sprite-offset-y: extract(@sprite,4) + @offset-y; /* calculate y offset */
    @sprite-url: extract(@sprite,1); /* extract the url of the image */
    background: url(@sprite-url);
    background-position: @sprite-offset-x @sprite-offset-y;
}

a{ /* any selector within which you want to call the mixin */
    .sprite-position-offset(1px,1px,"/path/to/image.jpg",b,100px,100px);
}

解释:

  1. 我们正在使用前两个参数的mixin作为in中的offsetx和in中的offset y
  2. ...指示mixin可以具有可变数量的参数。在这种情况下,将从第三个参数开始传递给mixin的所有参数都将分配给该@sprite变量。
  3. extract(@sprite,3)-这将从@sprite参数中提取第三个值(100px)。提取后,我们将mixin调用中的偏移值添加到它。
  4. 注:...extract如果我们将它们作为单独的参数的混入并不真正需要(如@offset-x; @offset-y; @sprite; @x; @y

演示版


选项2 :(复杂,不建议使用)

.sprite-position-offset(@sprite; @offset-x; @offset-y) {
  @temp: ~"@{sprite}";
  @sprite-offset-x: ~`parseInt("@{temp}".split(', ')[2],10) + @{offset-x}`;
  @sprite-offset-y: ~`parseInt("@{temp}".split(', ')[3],10) + @{offset-y}`;
  background-position: unit(@sprite-offset-x,px)  unit(@sprite-offset-y,px);
}

a{
  .sprite-position-offset("/path/to/image.jpg, b, 100, 100",1,1);
}

解释:

  1. split函数的输出是一个字符串,因此在对它进行算术运算之前,必须将其转换为数字。可以使用parseInt(string, radix)函数来完成
  2. 所述unit(number,px)追加单元(px)计算出的数值。

演示版


附加信息:您还可以查看线程中的七个阶段最大值发布的答案,以不同的方式来生成精灵图标样式。它使用循环和更多的算术运算来生成样式,并且在为多个此类Sprite图标编写样式时非常有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript拆分字符串的第一个数字

来自分类Dev

在第一个数字处分割字符串

来自分类Dev

bash:如何从字符串开头到第一个数字提取文本?

来自分类Dev

查找文本字符串中的最后一个数字

来自分类Dev

获取子字符串,直到第一个数字字符

来自分类Dev

在最后一个数字之后截断字符串

来自分类Dev

PHP在第一个数字上截断字符串

来自分类Dev

从字符串中删除第一个数字

来自分类Dev

R:如何查找字符串中的第一个数字

来自分类Dev

从字符串中获取第一个数字

来自分类Dev

如果是字符串。包含两个数字+“ x” +一个数字,则

来自分类Dev

Python从字符串中删除第一个数字(如果为0)

来自分类Dev

包含至少一个数字的字符串的正则表达式

来自分类Dev

在每个数字处分割一个字符串

来自分类Dev

C#加/减字符串数字在一起

来自分类Dev

Python-找到一个数字,然后从字符串中复制它

来自分类Dev

在第一个数字后保留字符串

来自分类Dev

从字符串中获取一个数字,从结尾到破折号

来自分类Dev

提取子字符串,直到第一个数字

来自分类Dev

如何在C#中从字符串中挑选一个数字

来自分类Dev

Django呼叫'id'需要一个数字,但得到了字符串

来自分类Dev

string :: erase(0)在一个空字符串上?

来自分类Dev

每次调用函数时加一个---字符串+数字

来自分类Dev

如何检查一个字符串上有多少个非字母数字字符

来自分类Dev

从第一个数字字符开始在Python中分割字符串

来自分类Dev

无法从一组字符串中取出一个数字-C

来自分类Dev

C#加/减字符串数字在一起

来自分类Dev

获取具有多个数字的字符串中的第一个数字?

来自分类Dev

如何在两个特定字符串之间找到一个数字?

Related 相关文章

  1. 1

    Javascript拆分字符串的第一个数字

  2. 2

    在第一个数字处分割字符串

  3. 3

    bash:如何从字符串开头到第一个数字提取文本?

  4. 4

    查找文本字符串中的最后一个数字

  5. 5

    获取子字符串,直到第一个数字字符

  6. 6

    在最后一个数字之后截断字符串

  7. 7

    PHP在第一个数字上截断字符串

  8. 8

    从字符串中删除第一个数字

  9. 9

    R:如何查找字符串中的第一个数字

  10. 10

    从字符串中获取第一个数字

  11. 11

    如果是字符串。包含两个数字+“ x” +一个数字,则

  12. 12

    Python从字符串中删除第一个数字(如果为0)

  13. 13

    包含至少一个数字的字符串的正则表达式

  14. 14

    在每个数字处分割一个字符串

  15. 15

    C#加/减字符串数字在一起

  16. 16

    Python-找到一个数字,然后从字符串中复制它

  17. 17

    在第一个数字后保留字符串

  18. 18

    从字符串中获取一个数字,从结尾到破折号

  19. 19

    提取子字符串,直到第一个数字

  20. 20

    如何在C#中从字符串中挑选一个数字

  21. 21

    Django呼叫'id'需要一个数字,但得到了字符串

  22. 22

    string :: erase(0)在一个空字符串上?

  23. 23

    每次调用函数时加一个---字符串+数字

  24. 24

    如何检查一个字符串上有多少个非字母数字字符

  25. 25

    从第一个数字字符开始在Python中分割字符串

  26. 26

    无法从一组字符串中取出一个数字-C

  27. 27

    C#加/减字符串数字在一起

  28. 28

    获取具有多个数字的字符串中的第一个数字?

  29. 29

    如何在两个特定字符串之间找到一个数字?

热门标签

归档