vantui icon indicating copy to clipboard operation
vantui copied to clipboard

CSS 变量真的支持吗?

Open lonyel opened this issue 3 years ago • 5 comments

这个 Issue 涉及以下平台:

  • [x] 微信小程序
  • [ ] 支付宝小程序
  • [ ] 百度小程序
  • [ ] 头条小程序
  • [ ] 快手小程序
  • [ ] QQ 轻应用
  • [ ] Web 平台(H5)

BUG 描述 css 变量真的支持吗?按照文档配置,没有任何效果 复现步骤 No 期望结果 No 实际结果 No 截图 No 环境 No 附加信息

lonyel avatar Oct 26 '22 20:10 lonyel

有具体组件吗? 我试了几个组件都OK的

boxcc avatar Oct 28 '22 08:10 boxcc

@boxcc 感谢你的回复。这个不是哪一个组件的问题,是整个组件库的问题。 我看了的你们的源码,确实没有看到CSS变量(不是less变量或者sass变量)(css变量类似 var(--font-size-md,@font-size-md) 之类的)应该是vant那边的less变化这边没有同步。如果有可能,请加上这个功能,这个对于根据不同人群对UI样式(如字体、颜色等)进行动态控制至关重要。

lonyel avatar Nov 01 '22 13:11 lonyel

image 这个是有赞那边的less,确实支持css变量

lonyel avatar Nov 01 '22 13:11 lonyel

@lonyel 这个函数做了转换
https://github.com/AntmJS/vantui/blob/c55726f5ef6a84dc9fdb2dfc53e057adf5638e8e/packages/vantui/src/style/var.less#L716-L719

boxcc avatar Nov 04 '22 01:11 boxcc

@boxcc 感谢你认真的回复。CSS变量确实是支持的。

我之前的需求是这样:希望各个用户可以自行调节字体的大小,因此希望调整如下变量达成目标: --font-size-xs : 30px; --font-size-sm : 34px;--font-size-md : 38px;--font-size-lg : 42px;但没有效果,因此以为css变量不支持。

经过你的提醒,我在css确实找到了如这样的声明:var(--cell-font-size, 28px),而这个样式对应的声明为:@cell-font-size: @font-size-md; 显然,转换后,基础变量@font-size-md和cell-font-size之间的联系丢失了,如果能转换成这样:var(--cell-font-size,var(--font-size-md,28px),就能保留基础原子变量对整个样式的影响力。

再次感谢。

lonyel avatar Nov 08 '22 07:11 lonyel