当前位置: 首页 > news >正文

vue动态绑定样式

通过动态绑定style和控制css属性的值来实现

效果是这样的,点击按钮的时候给文本赋值上随机的颜色。

一个很简单的功能,主要用到了js的random函数,vue动态绑定样式。

<template><div><div :style="{color:color1}" style="font-size: 25px;">123qwe</div><el-button @click="changeCol">切换颜色</el-button></div>
</template>
<script setup>
import { ref } from 'vue';const getRandomColr=()=>{// 生成第一个 0 到 255 之间的随机整数let num1 = Math.floor(Math.random() * 256);// 生成第二个 0 到 255 之间的随机整数let num2 = Math.floor(Math.random() * 256);// 生成第三个 0 到 255 之间的随机整数let num3 = Math.floor(Math.random() * 256);// 将三个随机数用逗号连接成一个字符串return `rgb(${num1},${num2},${num3})`;
}
//声明初始值
let color1=ref();
// 首次赋值
color1.value=getRandomColr();
//点击按钮 随机赋值一个颜色
const changeCol=()=>{color1.value=getRandomColr();
}</script >

声明一个变量color1来存储rgb颜色的值,声明一个方法来随机生成rgb的值,使用random函数来控制rgb的值 (0-255)。 

当需要动态绑定多个值的时候,使用逗号隔开

 <div :style="{color:color1,backgroundColor:color2}" style="font-size: 25px;">123qwe</div>
const color2=ref('#eee')

 

灰色的背景色可以看到已经添加上去了 。

通过变量结合三元运算符来控制是否加载类名

<template><div><h2 :class="isFlag ?'h2Active' :''" @click="isFlag=!isFlag">通过变量来控制是否加载类名</h2></div>
</template><script setup>
import { ref } from 'vue';const isFlag=ref(false);
</script><style scoped>.h2Active{color: red;
}</style>

运行效果,点击文本的时候去修改isFlag的值 来控制h2Active类名是否加载

 

 在演示一个
当isFlag值发生变化的时候,会给第二个h2 添加动画去隐藏显示h2

<template><div class="box"><h2 :class="isFlag ? 'h2Active' : ''" @click="isFlag = !isFlag">通过变量来控制是否加载类名</h2><h2 :class="isFlag ? 'demoAnimation' : 'demoAnimation2'">这是一段文本xxxxxxxxxx</h2></div>
</template><script setup>
import { ref } from 'vue';const isFlag = ref(false);
</script><style scoped>
.box {overflow: hidden;width: 500px;border: 1px solid;
}.h2Active {color: red;
}@keyframes hide {from {transform: translateX(0%);}to {transform: translateX(100%);}
}@keyframes show {from {transform: translateX(100%);}to {transform: translateX(0%);}
}.demoAnimation {animation: show linear 2s forwards;
}.demoAnimation2 {animation: hide linear 2s forwards;
}
</style>

 

 end

http://www.dtcms.com/a/265051.html

相关文章:

  • Kalibr解毒填坑(一):相机标定失败
  • 408第三季part1 - 操作系统 - 文件基本概念
  • 基于STM32的土豆种植自动化灌溉系统设计与实现
  • java依赖注入方法
  • 【C语言】知识总结·文件操作
  • Redis在项目中的使用
  • 在移动端使用 Tailwind CSS (uniapp)
  • 在项目架构时,如何选择打包构建工具?
  • Nginx、Spring Cloud Gateway 与 Higress 的应用场景及核心区别
  • Linux基本命令篇 —— alias命令
  • AI专业化应用加速落地,安全治理挑战同步凸显
  • 车载软件架构 -- SOA服务分层设计原则
  • 数学建模_非线性规划
  • 时钟(6.25-26)
  • pppoe宽带连接-系列命令调用
  • 使用Process Monitor定位benchstat工具执行过程
  • Almalinux_10.0下MySQL的多表操作与函数使用
  • 智慧城市的安全密码:商用密码如何守护万物互联?
  • 鸿蒙自定义相机的拍照页面
  • 荧光原位杂交(FISH)-实验操作-011
  • LeetCode[617]合并二叉树
  • 从SEO到GEO:AI时代的品牌大模型种草与数字营销重构
  • 【记录】基于 C++ 和 Winsock 的简单 TCP 通信实现
  • 健康医疗类Agent推荐有哪些
  • 下载公开的dahiti全球水位数据
  • 通过异步解决超时问题-使用 Spring 的 @Async 实现异步调用
  • Python毕业设计230—基于python+爬虫+vue的豆瓣影视数据可视化系统(源代码+数据库+15000字论文+开题+答辩ppt)
  • 构建灵活的监控系统:多表存储与动态告警规则设计实践
  • 智能防御原理和架构
  • dial tcp 10.1.68.88:3306: connect: cannot assign requested address