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

打印效果


相关文章
|
2月前
|
JavaScript 前端开发 Go
CSS 与 JS 对 DOM 解析和渲染的影响
【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
|
2月前
|
前端开发 开发者
CSS预处理器Less、Scss
【10月更文挑战第3天】
125 59
|
3月前
|
前端开发
用html+javascript打造公文一键排版系统3:获取参数设置、公文标题排版
用html+javascript打造公文一键排版系统3:获取参数设置、公文标题排版
|
1天前
|
JavaScript 前端开发
页面滚动触发css3动画js插件
delighters.js是一款页面滚动触发css3动画js插件。该js插件可以在页面向下滚动时,为进入浏览器视口的元素制作各种炫酷的CSS3动画效果。
24 13
|
9天前
纸屑飘落生日蛋糕场景js+css3动画特效
纸屑飘落生日蛋糕CSS3动画特效是一款js+css3制作的全屏纸屑飘落,生日蛋糕点亮庆祝动画特效。
24 3
|
28天前
|
前端开发
create-react-app 如何使用 less/sass 和 react-css-modules?
本文详细介绍了在 create-react-app 项目中如何使用 less/sass 和 react-css-modules 来管理和应用样式。首先,通过安装相应依赖并配置 webpack 支持 less/sass;接着,介绍如何使用这些预处理器编写样式;最后,讲解了如何配置和使用 react-css-modules 实现样式的模块化管理,以及如何结合使用 less/sass 和 react-css-modules 提高开发效率和代码质量。
27 3
|
1月前
|
前端开发 JavaScript
用HTML CSS JS打造企业级官网 —— 源码直接可用
必看!用HTML+CSS+JS打造企业级官网-源码直接可用,文章代码仅用于学习,禁止用于商业
116 1
|
1月前
|
JavaScript 前端开发
.js方法参数argument
【10月更文挑战第26天】`arguments` 对象为JavaScript函数提供了一种灵活处理参数的方式,能够满足各种不同的参数传递和处理需求,在实际开发中具有广泛的应用价值。
38 7
|
1月前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
45 3
|
1月前
|
JSON 移动开发 数据格式
html5+css3+js移动端带歌词音乐播放器代码
音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
106 6