相关疑难解决方法(0)

在输出中使用反斜杠进行Sass变量插值

我正在创建一些图标字体规则,以便在我的网站中使用.使用Sass我想列出列表变量中的所有图标,并使用@each循环遍历它们.

代码如下所示:

$icons: 
    wifi 600,
    wifi-hotspot 601,
    weather 602;

@each $icon in $icons {
    .icon-#{nth($icon, 1)}, 
    %icon-#{nth($icon, 1)} {
        content: "\#{nth($icon, 2)}";
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是content:线路上的反斜杠.我需要它用于字符编码,但它逃避变量插值,输出如下所示的CSS:

.icon-wifi {
  content: "\#{nth($icon, 2)}";
}
Run Code Online (Sandbox Code Playgroud)

像这样添加一个反斜杠:content: "\\#{nth($icon, 2)}";输出这个CSS:

.icon-wifi {
  content: "\\600";
}
Run Code Online (Sandbox Code Playgroud)

有没有办法让Sass在保持变量插值的同时只用一个反斜杠输出CSS?

interpolation sass icon-fonts

8
推荐指数
3
解决办法
5080
查看次数

Sass 3.4删除字符串上的正斜杠

是一个解决方法或任何其他方式使这个工作在Sass 3.4 +

@mixin icon ($name, $code) {
.#{$name}::before {
content: str-slice("\x",1,1) + $code;}
}

@include icon('test', 4556);
Run Code Online (Sandbox Code Playgroud)

代码应该输出

.test :: before {content:"\ 4556"; }

但是在3.4+上\斜线被删除并输出为

.test :: before {content:"x4556"; }

谢谢

sass compass

2
推荐指数
1
解决办法
1119
查看次数

标签 统计

sass ×2

compass ×1

icon-fonts ×1

interpolation ×1