【实现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>

打印效果


相关文章
|
1天前
|
安全 JavaScript
旋转木马轮播图 html+css+js
旋转木马轮播图 html+css+js
|
1天前
|
移动开发 前端开发 JavaScript
HTML5+CSS3+JavaScript网页实战
HTML5+CSS3+JavaScript网页实战
|
14小时前
|
移动开发 JavaScript 前端开发
rem的适配方案,css文件和js文件的引入方式,特色小边框的制作,DS-Digital.ttf数字展示屏的使用方法:,自适应图片 background-size,jQuery爆bug,a和盒子居中,
rem的适配方案,css文件和js文件的引入方式,特色小边框的制作,DS-Digital.ttf数字展示屏的使用方法:,自适应图片 background-size,jQuery爆bug,a和盒子居中,
|
21小时前
|
Web App开发 JavaScript 前端开发
技术好文共享:非常好的一个JS代码(CJL.0.1.js)
技术好文共享:非常好的一个JS代码(CJL.0.1.js)
|
22小时前
|
Web App开发 前端开发 JavaScript
技术心得记录:瀑布流的布局原理分析(纯CSS瀑布流与JS瀑布流)
技术心得记录:瀑布流的布局原理分析(纯CSS瀑布流与JS瀑布流)
|
1天前
|
JavaScript
fastadmin js里获取后端传的参数
fastadmin js里获取后端传的参数
2 0
|
1天前
|
前端开发 JavaScript
HTML+CSS+JS 倒计时动画效果
HTML+CSS+JS 倒计时动画效果
|
2天前
|
JavaScript
js -- 函数总结篇,函数提升、动态参数、剩余参数、箭头函数、this指向......
js -- 函数总结篇,函数提升、动态参数、剩余参数、箭头函数、this指向......
|
2天前
|
JavaScript 前端开发
js,jq,jquery删除css属性
js,jq,jquery删除css属性
6 0
|
JavaScript 前端开发
用javascript替换URL中的参数值
今天遇到一个需要用javascript将url中的某些参数替换的需求,想起了不久前从司徒正美先生的博客中淘到了一个parseUrl函数,正好可以借此实现,代码整理如下: //分析url function parseURL(url) { var a = document.
652 0