Compass/Sass检查文件是否存在
我使用compass来生成精灵,并有一个mixin来计算原始资源的宽度和高度,并将其添加到css中 我在这个mixin上还有一个选项,可以为悬停状态图像传递true或false。但是,与每次使用mixin时都必须指定此选项不同,如果文件存在,我希望在默认情况下添加悬停css 我已经在config.rb文件中添加了以下内容(到目前为止,它是我仅有的扩展名) 我的混音看起来像这样Compass/Sass检查文件是否存在,sass,compass-sass,Sass,Compass Sass,我使用compass来生成精灵,并有一个mixin来计算原始资源的宽度和高度,并将其添加到css中 我在这个mixin上还有一个选项,可以为悬停状态图像传递true或false。但是,与每次使用mixin时都必须指定此选项不同,如果文件存在,我希望在默认情况下添加悬停css 我已经在config.rb文件中添加了以下内容(到目前为止,它是我仅有的扩展名) 我的混音看起来像这样 @mixin sprite($name, $hover: true, $active: false, $pad:0){
@mixin sprite($name, $hover: true, $active: false, $pad:0){
@include sprite-dimensions($sprites, $name);
background-repeat: no-repeat;
background-image: sprite-url($sprites);
background-position: sprite-position($sprites, $name, -$pad, -$pad);
@if $hover == true{
$name_hover: $name + _hover;
@if file_exists($name_hover){
&:hover {
background-position: sprite-position($sprites, $name_hover, -$pad, -$pad);
}
}
}
}
但是
文件_存在
函数不返回true
;可能是因为文件的路径不正确。什么/如何指定正确的路径?我找到了一个解决方案,它不检查文件是否存在,而是检查创建的精灵贴图(从所有确实存在的文件中)
我变了
@if file_exists($name_hover){
到
确保
image\u文件
是字符串。您也不需要整个路径
变量声明行;只需将其替换为w/image\u文件
。图像的路径可能与Ruby文件有关,而不是与调用该函数的Sass文件有关。
@if file_exists($name_hover){
@if sprite_has_selector($sprites, $name, hover){