sass - Sass:如何获取当前 .sass 文件的文件系统的绝对路径?
问题描述
类似于@current_file_path()
返回文件系统中文件的实际路径的东西?
我的实际问题如下。
我有一个带有它自己的.scss
文件和相关图像的子模块。
子模块的样式包含在一个公共模块的文件中,该文件不在同一个目录中(实际上它在父目录中),如下所示:
@include "submodule/_style";
在子模块的文件中,我想这样写:
background-image: url(image.jpg);
但我不能。因为所有的路径都是相对于公共模块文件的,因为只有它被编译成最终的 CSS,而不是当前的子模块文件。所以我必须这样做:
$submodule-dir: "submodule";
background-image: url("$submodule-dir/image.jpg");
所以我想做一个$submodule-dir
自动计算当前文件的函数。可能吗?
解决方案
sass 中没有获取当前文件路径的函数。
它遵循正常的 css 语法。所以你必须在你的子模型中定义路径。
但是我们可以创建一个函数来让我们更容易:
像这样:
$currentModule: "../submodule/image/";
@function setUrl($file) {
@return url($currentModule + $file);
}
.main {
background-image: setUrl("file.jpg");
}
推荐阅读
- javascript - 如何在javascript中打乱列表列表
- swift - 在 SwiftUI 中,如果我的按钮包含在 ZStack 中而不是 VStack 的叠加层中,为什么会触发?
- java - 如何从spring boot服务层调用java类方法
- javascript - 添加方法chaininig时如何用import替换'require'
- python - 带有子图的小刻度在 matplotlib python 中不起作用
- c# - C# 将剪贴板数据格式复制到新对象时出现“FatalExecutionEngineError”
- java - 如何读取 txt 文件的 1 个特定列并存储到 Array 或 ArrayList [Java]
- android-studio - 限制 Android Studio/Gradle 解析源路径(符号链接问题)
- unit-testing - 开玩笑的手动 ES6 类模拟未激活,我想了解原因
- java - 旋转文本而不是处理中文本的位置