css - 如何避免合并在 Angular CSS minifier 中声明变量的媒体查询?

标签 css angular

我在 CSS 中使用媒体查询声明变量,但是当 Angular CSS minifier 将声明合并在一起时,破坏了样式。

有没有办法配置这种行为?

我的 CSS 是


:root { --grid-max: 94%; }

@media (min-width: 400px) { :root { --grid-max: var(--grid-4); } }

@media (min-width: 500px) { :root { --grid-max: var(--grid-5); } }

@media (min-width: 600px) { :root { --grid-max: var(--grid-6); } }

@media (min-width: 700px) { :root { --grid-max: var(--grid-7); } }

@media (min-width: 800px) { :root { --grid-max: var(--grid-8); } }

@media (min-width: 1200px) { :root { --grid-max: var(--grid-12); } }

缩小版如下:

:root {
 --grid-3:273px;
 --grid-4:370px;
 --grid-5:468px;
 --grid-6:565px;
 --grid-7:663px;
 --grid-8:760px;
 --grid-12:1150px;
 --grid-max:94%;
}

缩小器计算了变量的值(这不是问题),但它还将所有媒体查询合并到一个语句中,从而改变了原始 CSS 的行为。

最佳答案

这实际上并没有解决问题,但这是我目前采用的解决方法。

在 angular.json 中,可以将其配置为在优化 js 的同时不对样式进行优化。在 projects.architect.build.configurations.production.optimization 中,只需将样式设置为 false,将脚本设置为 true。

          "optimization": {"scripts":  true, "styles":  false},

关于css - 如何避免合并在 Angular CSS minifier 中声明变量的媒体查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58942428/

相关文章:

css - ng-动画 : conditionally switching "back" transition (BUG? )

javascript - 具有 rowGrouping 的数据表无法隐藏列

javascript - 固定菜单不起作用(菜单不 "stick")

angular - 如何在 Angular/ ionic 路径中写入条件

ecmascript-6 - Angular2 ES6 @Input 替代方案

javascript - 如何跨多个组件重用 Angular 观察? (为了避免重复请求两次?)

css - 如何使用css使首字母大写

javascript - 如何使引导导航栏在小屏幕上从右到左顺利切换 chrome?

javascript - Angular 2 - 链接 Web 服务调用

angular - 如何修复 Angular 应用程序中的此错误 "No provider for ControlContainerAngular"