码字,杂谈

js 修改 stylus 变量

使用变量

一些基本操作:

  • 使用 $ 作为变量名前缀
  • 赋值号(=)赋值
  • 使用 @ 可以直接引用当前类下的属性名
    width 10px
    height @width
  • 可以直接在类中使用变量名(好像是废话)

修改变量

如果想动态修改,需要用到 js,但是 js 无法修改 stylus 的变量,只能借助 css 的变量名体系。

标准的方式:

  • :root 中声明默认变量属性
  • 通过 js 动态修改全局的 css 变量

具体内容可以看文档 MDN

css 的变量使用 -- 作为起始,使用的时候需要使用 var() 函数包裹。

需要注意的是,css 变量在 stylus 的一些内置函数中是无效的,所以有些值需要在 js 中变换完成之后再赋值给 css 变量。


以修改头部高度和背景颜色为例:

1、定义初始属性:

:root
    --header-height 40px
    --header-bg-color #123

.header-style
    height var(--header-height)
    background-color var(--header-bg-color)

2、使用 js 进行修改:

document.documentElement.style.setProperty("--header-height", "50px");
document.documentElement.style.setProperty("--header-bg-color", "#456");
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注