Vue入门指北——css中的js变量

简介: Vue入门指北——css中的js变量

前言


最近项目演示,手上没什么活,正好借着闲下来的功夫,看了看vue3的文档,发现vue3对vue3的支持加强了。以前总是想着,如果js中的变量能直接,css中使用,那是多么一件美妙的事情啊,而且优雅。而在这次的vue3里面支持这么做了,你可以随意使用js中的变量,只需一个v-bind()指令就可以实现。下面我给大家简单介绍下,在vue2中css是如何使用js变量的,并对比vue3中的使用,你会发现优雅,太优雅了。


vue2中css内的js变量


假如我们有两个按钮,第一个按钮背景改成粉色,第二个按钮文字改成粉色,你可能会这么写:


<script >
...
data() {
  return {
    color: 'pink',
  }
}
...
</script>
<template>
  <div>
    <button :style="{ background: color }">
      彼时彼刻,恰如此时此刻
    </button>
    <button :style="{ color }">
      彼时彼刻,恰如此时此刻
    </button>
  </div>
</template>
复制代码


但是,这么写的话,动态样式一但多的话,就会显得特别臃肿。这个时候你就可以通过css变量解决这个问题。


<template>
  <div :style="{'--color': color}">
    <button >
      彼时彼刻,恰如此时此刻
    </button>
    <button>
      彼时彼刻,恰如此时此刻
    </button>
  </div>
</template>
<script >
...
data() {
  return {
    color: 'pink',
  }
}
...
</script>
<style scoped>
button:nth-child(1) {
    background: var(--color);
}
button:nth-child(2) {
  color: var(--color)
}
</style>
复制代码


上面两种方法中,都做到了,根据data内的color变量动态渲染css样式,一个是要在标签内编写样式,一个是要在标签内声明css变量,说实话比较繁琐。下面我们来看下,在vue3中是如何实现的。


vue3中css内的js变量


在vue3中可以说是非常方便了:


<script setup>
import { ref } from 'vue';
const color = ref('pink');
</script>
<template>
  <div>
    <button >
      彼时彼刻,恰如此时此刻
    </button>
    <button>
      彼时彼刻,恰如此时此刻
    </button>
  </div>
</template>
<style scoped>
button:nth-child(1) {
    background: v-bind(color);
}
button:nth-child(2) {
  color: v-bind(color);
}
</style>
复制代码


vue3中直接通过v-bind指令就可以与js变量绑定上,既解决了标签内编写样式的臃肿的问题,也省去了声明css变量的麻烦。

相关文章
|
1天前
html+js+css实现的建筑方块立体数字时钟源码
html+js+css实现的建筑方块立体数字时钟源码
50 33
|
23天前
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
97 24
|
24天前
|
JavaScript 前端开发
【JavaScript】——JS基础入门常见操作(大量举例)
JS引入方式,JS基础语法,JS增删查改,JS函数,JS对象
|
1月前
|
JavaScript 前端开发
页面滚动触发css3动画js插件
delighters.js是一款页面滚动触发css3动画js插件。该js插件可以在页面向下滚动时,为进入浏览器视口的元素制作各种炫酷的CSS3动画效果。
50 13
|
1月前
纸屑飘落生日蛋糕场景js+css3动画特效
纸屑飘落生日蛋糕CSS3动画特效是一款js+css3制作的全屏纸屑飘落,生日蛋糕点亮庆祝动画特效。
49 3
|
2月前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
65 5
|
2月前
|
前端开发 JavaScript
如何在 JavaScript 中访问和修改 CSS 变量?
【10月更文挑战第28天】通过以上方法,可以在JavaScript中灵活地访问和修改CSS变量,从而实现根据用户交互、页面状态等动态地改变页面样式,为网页添加更多的交互性和动态效果。在实际应用中,可以根据具体的需求和场景选择合适的方法来操作CSS变量。
|
2月前
|
前端开发 JavaScript
如何在 CSS 变量中使用函数?
【10月更文挑战第28天】虽然CSS变量本身不能像传统编程语言中的函数那样直接进行复杂的运算和逻辑处理,但通过CSS预处理器、`calc()` 函数以及与JavaScript的结合,可以在很大程度上实现类似函数的功能,提高CSS样式的灵活性和可维护性,满足各种不同的页面设计和交互需求。
|
2月前
|
前端开发 JavaScript
用HTML CSS JS打造企业级官网 —— 源码直接可用
必看!用HTML+CSS+JS打造企业级官网-源码直接可用,文章代码仅用于学习,禁止用于商业
185 1
|
2月前
|
前端开发 JavaScript 数据处理
CSS 变量的作用域和 JavaScript 变量的作用域有什么不同?
【10月更文挑战第28天】CSS变量和JavaScript变量虽然都有各自的作用域概念,但由于它们所属的语言和应用场景不同,其作用域的定义、范围、覆盖规则以及与其他语言特性的交互方式等方面都存在明显的差异。理解这些差异有助于更好地在Web开发中分别运用它们来实现预期的页面效果和功能逻辑。