zoukankan      html  css  js  c++  java
  • 通过js实现css样式的动态切换(React,Vue均适用)

     有一些需求,如动态切换界面主题,就需要通过js去控制css。

    对应的实现方案也有很多,如Less中的modifyVar,这里推荐一种兼容性比较好的做法,使用浏览器原生支持的——CSS变量。

    https://developer.mozilla.org/zh-CN/docs/Web/CSS/Using_CSS_custom_properties

    首先在根css文件头部(如index.css或App.css之类的)声明变量以及默认值,以双短横线--开头。

    :root{
        --show-bullet: visible;
    };

    其中show-bullet是我自定义的变量,用于控制弹幕是否展示。:root代表这个是全局的变量,所以你可以在任何地方访问到这个变量,

    如子组件的css中。

    比如我在自定义弹幕组件中:

    .bullet {
        visibility: var(--show-bullet);
    }

    var代表访问变量。因此默认情况下弹幕是可见的。

    那么我如果想要做一个按钮的点击事件关闭弹幕:

    只需要(以下为js代码):

    document.documentElement.style.setProperty('--show-bullet','hidden');

    弹幕就会关闭显示了。其中注意在定义css变量时,无需加引号,而在通过js修改时一定要加引号,确保第二个参数为字符串。

  • 相关阅读:
    linux kernel内存碎片防治技术
    内核线程
    Linux内核高端内存
    Lcd(一)显示原理
    LSB和MSB
    图解slub
    数据库小试题2
    编写函数获取上月的最后一天
    php中的static静态变量
    mysql小试题
  • 原文地址:https://www.cnblogs.com/flamestudio/p/12767452.html
Copyright © 2011-2022 走看看