【实现js和css互通、共享常量参数值】js如何获取CSS/SCSS/LESS的常量、CSS/SCSS/LESS又是如何获取js的值(或者说js是如何主动推送参数给CSS使用的)?

简介: 【实现js和css互通、共享常量参数值】js如何获取CSS/SCSS/LESS的常量、CSS/SCSS/LESS又是如何获取js的值(或者说js是如何主动推送参数给CSS使用的)?

js获取CSS/SCSS/LESS的常量

<template>
  <div id="body">
    <p>--color: {{ color }}</p>
    <p>--width: {{ width }}</p>
    <p>--color_after: {{ color_after }}</p>
    <p>--width_after: {{ width_after }}</p>
  </div>
</template>
 
<script>
export default {
  data() {
    return { color: "", width: "", color_after: "", width_after: "" };
  },
  mounted() {
    var el = document.querySelector("#body");
    // 知识点:document.defaultView===window----------------------------------------
    var style = window.getComputedStyle(el) || document.defaultView.getComputedStyle(el); //js获取div样式
    this.color = style.getPropertyValue("--color");
    this.width = style.getPropertyValue("--width");
    var style_after = window.getComputedStyle(el, ":after") || document.defaultView.getComputedStyle(el, ":after"); //js获取伪类样式
    this.color_after = style_after.getPropertyValue("--color-after");
    this.width_after = style_after.getPropertyValue("--width-after");
  },
};
</script>
<style lang="scss" scoped>
#body {
  --color: red;
  --width: 100px;
  &:after {
    --color-after: blue;
    --width-after: 200px;
  }
}
</style>

打印效果

CSS/SCSS/LESS获取js的值(js主动推送参数给CSS使用)

<template>
  <div id="body">如何通过js传输常量给css,共用js的常量值</div>
</template>
 
<script>
export default {
  mounted() {
    var el = document.querySelector("#body");
    el.style.setProperty("--color", "white"); //js往css传递参数
    el.style.setProperty("--background-color", "red"); //js往css传递参数
  },
};
</script>
<style lang="scss" scoped>
#body {
  color: var(--color);
  background-color: var(--background-color);
}
</style>

打印效果


相关文章
|
23天前
|
移动开发 前端开发 JavaScript
征信报告修改器,征信报告生成器,制作软件无痕修改软件【js+html+css】
本项目为信用评分模拟器教学工具,采用HTML5实现,仅供学习参考。核心功能通过JavaScript构建,包含虚拟数据生成、权重分配及信用因素分析(如还款记录、信用使用率等)。
|
23天前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
23天前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
23天前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
206 2
|
8月前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
110 1
JavaScript中的原型 保姆级文章一文搞懂
|
8月前
JS+CSS3文章内容背景黑白切换源码
JS+CSS3文章内容背景黑白切换源码是一款基于JS+CSS3制作的简单网页文章文字内容背景颜色黑白切换效果。
79 0
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
296 5
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
160 3
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
159 4

热门文章

最新文章