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

打印效果


相关文章
|
30天前
|
JSON 前端开发 JavaScript
使用html,css,js 实现一个龙年春节祝福卡片效果
使用html,css,js 实现一个龙年春节祝福卡片效果
37 4
|
8天前
|
JavaScript 前端开发
JavaScript基础知识-函数的参数
关于JavaScript函数参数基础知识的介绍。
14 4
JavaScript基础知识-函数的参数
|
1天前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
10天前
|
前端开发 JavaScript
JavaScript 动态更新 CSS
【9月更文挑战第01天】
11 2
|
20天前
|
前端开发 程序员
HTML+CSS+JavaScript制作动态七夕表白网页(含音乐+自定义文字)
一年一度的520情人节/七夕情人节/女朋友生日/程序员表白,是不是要给女朋友或者正在追求的妹子一点小惊喜呢,今天这篇博客就分享下前端代码如何实现HTML+CSS+JavaScript制作七夕表白网页(含音乐+自定义文字)。赶紧学会了,来制作属于我们程序员的浪漫吧!
35 0
HTML+CSS+JavaScript制作动态七夕表白网页(含音乐+自定义文字)
|
11天前
|
前端开发 JavaScript 搜索推荐
打造个人博客网站:从零开始的HTML、CSS与JavaScript之旅
在这个数字时代,拥有一个个性化的网络空间已成为许多人的梦想。本文将引导你了解如何从零开始,使用HTML、CSS和JavaScript创建属于自己的博客网站。我们将探索这些技术的基础概念,并通过实际代码示例展示如何将静态页面转变为动态交互式网站。无论你是编程新手还是希望扩展技能的开发者,这篇文章都将为你提供一条清晰的学习路径。【8月更文挑战第31天】
|
17天前
|
前端开发 JavaScript Linux
【Azure 应用服务】在Azure App Service for Linux环境中,部署的Django应用,出现加载css、js等静态资源文件失败
【Azure 应用服务】在Azure App Service for Linux环境中,部署的Django应用,出现加载css、js等静态资源文件失败
|
27天前
|
移动开发 JavaScript 前端开发
基于CSS3、原生JS、Vue3.0技术各自实现序列帧动画效果
这篇文章展示了如何使用纯CSS3、原生JavaScript以及Vue 3.0技术来实现序列帧动画效果,并通过代码示例和动画效果展示了每种方法的实现过程和最终效果。
42 0