动态修改elmentUI元素样式---CSS 变量 var() 函数

之前修改elementUI组件样式是在css文件里/deep/就行,如下所示:

&::v-deep {
        .el-collapse{
            border-top: none  !important;
        }
        .el-collapse-item__wrap{
            background-color: #2a4850;
            border-bottom:none !important;
            color:#29B1CC;
            &::v-deep{
                .el-collapse-item__content{
                    color:#29B1CC;
                }
            }
        }
    }

但是今天要修改的其样式是需要动态修改,我公司产品是有通过js文件在前端页面展示其css对应属性,所以用户可以自己去配置样式。就是把我们要用到的css样式动态写到js中,然后再引入到html样式中即可。可是想了半天都没想到elementUI的要怎么修改,最后在网上找到了,试了一下没想到是ok的,大家可以看一下:

css文件:

&::v-deep {
        .el-collapse-item__header {
            background-color: #0d475d;
            //动态渲染
            color: var(--textarea-color);
            font-size: var(--textarea-size);
            font-weight: var(--textarea-weight);
        }
    }

html文件:

<el-collapse-item :style="{ '--textarea-color': `${titleColor}`,
                            '--textarea-size':`${titleFontSize}`,
                            '--textarea-weight':`${titleFontWeight}`
                  v-for="(key, index) in propertyTable" 
                  :title="key.title" 
                  :name="index" 
                  :key="key.name"
}">
</el-collapse-item>

js文件导出你定义的对应的值即可

这里再细说一下var()函数吧:

大家可以看这个博主的介绍:

CSS 变量 var() 函数_Serena_tz的博客-CSDN博客_css变量var

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
动态更新 grid 布局样式,可以使用 JavaScript 来修改 CSS 样式。以下是一些示例代码: 1. 通过修改 CSS 变量来更新 grid 样式: ```javascript // 获取 grid 元素 const grid = document.querySelector('.grid'); // 更新 grid 样式 grid.style.setProperty('--grid-columns', '3'); grid.style.setProperty('--grid-gap', '20px'); ``` 在 CSS 中,可以定义一个或多个 CSS 变量(也称为自定义属性),然后在 JavaScript 中使用 `setProperty()` 方法来更新这些变量的值。例如,以下是一个使用 CSS 变量来定义 grid 样式的示例: ```css .grid { display: grid; grid-template-columns: repeat(var(--grid-columns, 2), 1fr); grid-gap: var(--grid-gap, 10px); } ``` CSS 变量的默认值可以在 `var()` 函数中指定。例如,`var(--grid-columns, 2)` 表示如果 `--grid-columns` 变量未定义,则使用默认值 2。 2. 通过修改 grid 样式属性来更新 grid 样式: ```javascript // 获取 grid 元素 const grid = document.querySelector('.grid'); // 更新 grid 样式 grid.style.display = 'grid'; grid.style.gridTemplateColumns = 'repeat(3, 1fr)'; grid.style.gridGap = '20px'; ``` 在 JavaScript 中,可以使用 `style` 对象来访问和修改元素CSS 样式属性。例如,`grid.style.display = 'grid'` 表示将 `display` 属性设置为 `grid`。 需要注意的是,通过修改 `style` 对象来更新 CSS 样式只能修改元素的内联样式,而不能修改外部样式表中定义的样式。如果需要修改外部样式表中的样式,可以使用 `document.styleSheets` 对象来获取样式表对象,并使用 `insertRule()` 或 `deleteRule()` 方法来动态添加或删除样式规则。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值