Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何为具有较少混合的图像路径使用变量_Javascript_Html_Css_Less_Retina Display - Fatal编程技术网

Javascript 如何为具有较少混合的图像路径使用变量

Javascript 如何为具有较少混合的图像路径使用变量,javascript,html,css,less,retina-display,Javascript,Html,Css,Less,Retina Display,我是Less的新手,我正在尝试在可能的情况下加载视网膜图像 在css中调用图像时,该脚本使用以下混合: .at2x(@path, @w: auto, @h: auto) { background-image: url(@path); @at2x_path: ~`"@{path}".split('.').slice(0, "@{path}".split('.').length - 1).join(".") + "@2x" + "." + "@{path}".split('.')["@{pa

我是Less的新手,我正在尝试在可能的情况下加载视网膜图像

在css中调用图像时,该脚本使用以下混合:

.at2x(@path, @w: auto, @h: auto) {
  background-image: url(@path);
  @at2x_path: ~`"@{path}".split('.').slice(0, "@{path}".split('.').length - 1).join(".") + "@2x" + "." + "@{path}".split('.')["@{path}".split('.').length - 1]`;
  @media all and (-webkit-min-device-pixel-ratio : 1.5) {
    background-image: url(@at2x_path);
    background-size: @w @h;
  }  
}
我的问题是,如果我正在为我的一个图像使用一个变量,我如何正确地使用该变量在mixin中工作

这样做是行不通的:

  .at2x('@myImgPathVariable', 150px, 64px);
这也不是:

  .at2x('("@{myImgPathVariable}/logo.png")', 150px, 64px);

希望这是有意义的,谢谢。

卢克和奥姆都知道一些事情。变量的声明方式可能会有很大的不同。这样做似乎对我有用:

/* did you try without quotes? */

  .at2x(@myImgPathVariable, 150px, 64px);
@myImgPathVariable: ~'https://developers.google.com/images/developers-logo.png';

div {
    .at2x(@myImgPathVariable, 200px, 48px);
}

完整示例:

了解图像路径变量的值、您看到的输出以及您想要看到的内容会有所帮助。另外,如果您正在使用less.js或类似dotless的端口,因为这些端口不支持内联javascript。您的小提琴显示此错误
“没有从Retina.js添加所有必需的文件。只是在mixin上测试path参数。”
,没有显示图像。