css - Laravel Mix webpack scss 在 for 循环内 multiply 编译错误

标签 css laravel webpack sass laravel-mix

我有一个问题,我猜是 webpack。

我有一个 Laravel 5.6 安装,它通过 Laravel Mix 和 webpack 将 scss 编译成 css。 (我还安装了 TailwindCSS,但应该可以正常工作。)

我有以下 SCSS:

@for $i from 1 through 10 {
    p.animated-opacity, a.animated-opacity {
        &:nth-child(#{$i}) {
            animation-delay: #{$i} * 2s;
        }
    }

    input.animated-opacity, button.animated-opacity, select.animated-opacity {
        &:nth-child(#{$i}) {
            animation-delay: (2s * #{$i - 1}) + 1s;
        }
    }
}

它使用 Laravel Mix 和 webpack 将自身编译为:

main p.animated-opacity:nth-child(1),
main a.animated-opacity:nth-child(1) {
    -webkit-animation-delay: 1 * 2s;
    animation-delay: 1 * 2s;
}

main input.animated-opacity:nth-child(1),
main button.animated-opacity:nth-child(1),
main select.animated-opacity:nth-child(1) {
    -webkit-animation-delay: 2s * 0 + 1s;
    animation-delay: 2s * 0 + 1s;
}

main p.animated-opacity:nth-child(2),
main a.animated-opacity:nth-child(2) {
    -webkit-animation-delay: 2 * 2s;
    animation-delay: 2 * 2s;
}

然后继续,直到到达第十个 child 。但是,它应该编译为:

main p.animated-opacity:nth-child(1),
main a.animated-opacity:nth-child(1) {
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
}

main input.animated-opacity:nth-child(1),
main button.animated-opacity:nth-child(1),
main select.animated-opacity:nth-child(1) {
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
}

main p.animated-opacity:nth-child(2),
main a.animated-opacity:nth-child(2) {
    -webkit-animation-delay: 4s;
    animation-delay: 4s;
}

我在做什么,或者 Laravel Mix/Webpack 做错了什么?

提前致谢

最佳答案

发现,通过将秒数包装在 calc() 中它可以工作,并且浏览器可以正确呈现它。 SCSS 现在是:

@for $i from 1 through 10 {
    p.animated-opacity, a.animated-opacity {
        &:nth-child(#{$i}) {
            animation-delay: calc(#{$i} * 2s);
        }
    }

    input.animated-opacity, button.animated-opacity, select.animated-opacity, label.animated-opacity {
        &:nth-child(#{$i}) {
            animation-delay: calc((2s * #{$i - 1}) + 1s);
        }
    }
}

关于css - Laravel Mix webpack scss 在 for 循环内 multiply 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51572999/

相关文章:

javascript - Express Handlebars 自定义路径

html - 如何修复 Bootstrap 不透明度?

html - 如何在 HTML 和 CSS 编码中为移动设备和平板设备调整给定图像的菜单栏大小?

HTML 在图像底部添加扩展边框并在其上写入文本

php - Laravel: Eloquent ,多对多关系,我如何只急切地加载相关模型的 ID?

php - 如何使用http客户端laravel上传图片到API

javascript - Vue.js 如何在实例上定义方法

javascript - 如何动态加载 CommonJs 模块?

reactjs - Webpack:如何使用动态捆绑组合两个完全独立的 bundle

vue.js - Vue编译器无法解析 'vue'