4***@qq.com
4***@qq.com
  • 发布:2019-12-25 11:17
  • 更新:2022-01-05 11:13
  • 阅读:2846

【报Bug】在官方的uni.scss中条件编译无效

分类:HBuilderX

[内容]

在官方的uni.scss中条件编译无效

重现步骤

[步骤]在部分想要条件编译的css变量上使用条件编译包裹

[结果]

条件编译无效,排在后面的css变量会覆盖排在前面的css变量;
无论条件编译怎么写,总是会以排在后面的css变量为主

[期望]

/ 首页,导航栏样式 /
//$color-nav-bar-color : #ffffff;
$color-nav-bar-background : #E0B2AD;
$color-nav-bar-font-size : 16px;
$color-nav-btn-border-color: rgba(255, 255, 255, 0.25);
//$color-nav-btn-background:rgba(0,0,0,0.15);
//$color-nav-title-color: #333333;

/ 首页,搜索框样式 /
//$color-search-background: #ffffff;
//$color-search-box-background: rgba(0,0,0,0.15);
$color-search-box-color: #333333;
$color-search-right-left: #ffffff;

/ 首页,导航栏样式 /
$color-tab-background:white;
$color-tab-item-select:#E61D4C;

/ #ifndef MP-WEIXIN /
$color-nav-bar-color: #333333;
$color-nav-btn-background: rgba(255,255,255,0.5);
$color-nav-title-color: #ffffff;
$color-search-background: #333333;
$color-search-box-background: rgba(255,255,255,0.5);
/ #endif /

/ #ifdef MP-WEIXIN /
$color-nav-bar-color: #ffffff;
$color-nav-btn-background: rgba(0,0,0,0.15);
$color-nav-title-color: #333333;
$color-search-background: #ffffff;
$color-search-box-background: rgba(0,0,0,0.15);
/ #endif /

2019-12-25 11:17 负责人:无 分享
已邀请:
4***@qq.com

4***@qq.com (作者) - 90后

官方文档中有说明条件编译是可以是用在预编译语言文件中的

https://uniapp.dcloud.io/platform?id=%E6%A0%B7%E5%BC%8F%E7%9A%84%E6%9D%A1%E4%BB%B6%E7%BC%96%E8%AF%91

支持的文件

.vue
.js
.css
pages.json
各预编译语言文件,如:.scss、.less、.stylus、.ts、.pug
注意: 条件编译是利用注释实现的,在不同语法里注释写法不一样,js使用 // 注释、css 使用 / 注释 /、vue/nvue 模板里使用 <!-- 注释 -->;

注意: 样式的条件编译,无论是 css 还是 sass/scss/less/stylus 等预编译语言中,必须使用 /注释/ 的写法。

  • 陈小跑

    官方文档说支持,实际scss编译ok,但加上条件编译后无效,没什么卵用

    2020-07-28 17:51

y***@163.com

y***@163.com

请问你解决了吗,我也碰上这个问题了

  • 4***@qq.com (作者)

    根本没办法解决,官方也不出来回答一下.我现在就是每个项目都单独一个scss文件了

    2020-01-07 16:02

  • y***@163.com

    回复 4***@qq.com: 我是一个项目内app和H5需要不同样式,这样就写起来麻烦了

    2020-01-10 15:18

  • 花开美时

    回复 y***@163.com: 我也是,H5跟小程序不一样的样式,但是在uni.scss里根本没办法条件编译,然后写在自定义的scss的变量又不能全局通用,太坑了

    2020-03-24 16:15

花开美时

花开美时 - F2E小助理

我也碰到这样的问题,没有官方人员出来解释一下吗?

花开美时

花开美时 - F2E小助理

更新编辑器到最新alpha版,官方说是修复了这个问题

李红1

李红1

最新版也没有修复

  • 花开美时

    确实,后面我自己测试了一下,还是不行的。但是官方版本日志又说已修复,搞不懂

    2020-04-21 10:24

dadaugo

dadaugo

可以在css文件中用css原生变量解决:
page { --mycolor:#666; }
.class { color: var(--mycolor); }

陈小跑

陈小跑

这个问题官方还没有解决吗?目前最新版本中使用scss条件编译依然不生效,例如:以下.scss中的一段代码,在支付宝中依然生效。

/* #ifdef MP-WEIXIN */  
.pickup .a {  
  color: red;  
}  
/* #endif */
最爱吃西瓜

最爱吃西瓜 - 世界碎了,但潮汐在心中

请问解决了么

c***@qq.com

c***@qq.com

我也是这样的问题,从我开始用久uni 就发现这个问题

<style lang="scss" scoped>  
@import "~@/style/core/text.scss";  

</style>

这样的@import 文件里面的条件编译全部失效,不能重用,只能复制到vue 文件里面

w***@qq.com

w***@qq.com

刚更新了最新版hbuilderx, 可以条件编译scss了

该问题目前已经被锁定, 无法添加新回复