0

我正在更新一些旧的 CSS 表并为我的项目创建一个新的 LESS 表。在我拥有的旧 CSS 表中,我有两个用于制作渐变的十六进制值。

在一个实例中,十六进制值像十六进制值一样传递,如下所示:

background: -webkit-gradient(linear, left top, left bottom, from(#0079bc), to(#00509d));

并且作为同一规则中另一个实例中的字符串值,如下所示:

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00509d', endColorstr='#00509d');

如果我试图将两个十六进制值作为变量保留在新的 LESS 文件中,如何在第二个实例中将十六进制值变量作为字符串传递?

4

1 回答 1

1

像这样的东西:

.gradientMix(@hex1, @hex2) {
  background: -webkit-gradient(linear, left top, left bottom, from(@hex1), to(@hex2));
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@{hex1}', endColorstr='@{hex2}');
}

.gradientMix(#0079bc,#00509d);

哪个输出:

background: -webkit-gradient(linear, left top, left bottom, from(#0079bc), to(#00509d));
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0079bc', endColorstr='#00509d');

请注意,当变量位于引号内时,我是如何通过用括号括住名称来访问变量的,如下所示:@{hex1}访问@hex1字符串内的变量。

于 2013-06-12T01:03:29.887 回答