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

Vue-样式绑定-class

样式绑定-class

  • 字符串写法
  • 数组写法
  • 对象写法

字符串写法

使用场景: 样式类名不确定,需要动态绑定

  • 代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>样式绑定-class</title><!--  引入Vue  --><script type="text/javascript" src="../js/vue.js"></script><style>.base{padding: 5px;height: 100px;}.gray{background-color: gray;}.blue{background-color: skyblue;}.orange{background-color: orange;}</style></head><body><div id="root"><h1>样式绑定-class</h1><div><h2>样式绑定-class  =>  字符串写法</h2><!-- class样式绑定 -> 字符串写法 场景: 样式类名不确定,需要动态绑定--><div class="base" :class="bgc" @click="changeBgc">{{name}}</div></div></div></body><script type="text/javascript">Vue.config.productionTip = false; // 阻止vue在启动是生成生产提示const vm = new Vue({el: "#root",data: {name: "Vue 扛把子",bgc:'gray'},methods: {changeBgc(){const arr = ['gray','blue','orange']const index = Math.floor(Math.random()*3)this.bgc = arr[index]console.log("背景色变成了:" + this.bgc)}}});</script>
</html>
  • 效果

在这里插入图片描述

数组写法

使用场景:样式个数、名字不确定, 即可操作样式数组实现动态样式

  • 代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>样式绑定-class</title><!--  引入Vue  --><script type="text/javascript" src="../js/vue.js"></script><style>.base{padding: 5px;height: 100px;}.gray{background-color: gray;font-size: 40px;}.blue{background-color: skyblue;font-weight: bold;}.orange{background-color: orange;color: blue;}</style></head><body><div id="root"><h1>样式绑定-class</h1><div><h2>样式绑定-class  =>  数组写法</h2><!-- class样式绑定 -> 数组写法 场景: 样式个数、名字不确定,即操作样式数组实现动态样式--><div class="base" :class="bgcArr">{{name}}</div></div></div></body><script type="text/javascript">Vue.config.productionTip = false; // 阻止vue在启动是生成生产提示const vm = new Vue({el: "#root",data: {name: "Vue 扛把子",bgcArr:['gray','blue','orange']}});</script>
</html>
  • 效果

在这里插入图片描述

对象写法

使用场景:样式个数、名字确定,动态决定是否使用

  • 代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>样式绑定-class</title><!--  引入Vue  --><script type="text/javascript" src="../js/vue.js"></script><style>.base{padding: 5px;height: 100px;}.gray{background-color: gray;font-size: 40px;}.blue{background-color: skyblue;font-weight: bold;}.orange{background-color: orange;color: blue;}</style></head><body><div id="root"><h1>样式绑定-class</h1><div><h2>样式绑定-class  =>  对象写法</h2><!-- class样式绑定 -> 对象写法 场景: 样式个数、名字确定,动态决定是否使用--><div class="base" :class="bgcObj">{{name}}</div><br><button @click="useGray">gray</button> <button @click="useOrange">orange</button> <button @click="noUse">null</button></div></div></body><script type="text/javascript">Vue.config.productionTip = false; // 阻止vue在启动是生成生产提示const vm = new Vue({el: "#root",data: {name: "Vue 扛把子",bgcObj:{gray:false,orange:false}},methods: {useGray(){this.bgcObj.gray = !this.bgcObj.grayconsole.log(this.bgcObj.gray ? "使用gray" : "不使用gray")},useOrange(){this.bgcObj.orange = !this.bgcObj.orangeconsole.log(this.bgcObj.orange ? "使用orange" : "不使用orange")},noUse(){this.bgcObj.orange = false;this.bgcObj.gray = false;console.log("不使用gray、orange")}},});</script>
</html>
  • 效果

    gray


    在这里插入图片描述
    orange


    在这里插入图片描述
    null


    在这里插入图片描述

相关文章:

  • liunx定时任务,centos定时任务
  • 前端工程的相关管理 git、branch、build
  • Git上传项目到GitHub
  • 企业销售管理痛点解析与数字化解决方案
  • CVE-2015-1422 Gecko CMS CSRF添加管理员
  • JVM的垃圾回收机制
  • c/c++的opencv均值函数
  • 盲盒APP开发——解锁盲盒经济无限可能
  • 机器学习(14)——模型调参
  • ThreadLocal 源码深度解析
  • 【线下沙龙】NineData x Apache Doris x 阿里云联合举办数据库技术Meetup,5月24日深圳见!
  • YoloV8改进策略:卷积篇|风车卷积|即插即用
  • 【无用知识】如何做到高效率
  • 今日行情明日机会——20250519
  • 【MySQL成神之路】MySQL常用语法总结
  • 聊聊更新中断和更新事件那些事儿
  • Unity预制体变体(Prefab Variants)、接口(Interface)、抽象类(Abstract Class)、枚举(Enumeration)
  • 计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 13.几何着色器(二)爆炸效果修改图元类型
  • ARMv7的NVIC中断优先级
  • Timer-XL:长上下文Transformer模型引领时序预测新篇章
  • 解读|俄方称愿与乌方共同起草和平备忘录,特朗普多轮通话外交有效吗?
  • 日月谭天 | 赖清德倒行逆施“三宗罪”,让岛内民众怒不可遏
  • 高温最强时段来了!北方局地高温有明显极端性
  • 解放日报“解码上海AI产业链”:在开源浪潮中,集聚要素抢先机
  • 上海小学生暑(寒)托班会增设开办期数、延长办班时间吗?团市委回应
  • 国际博物馆日|航海博物馆:穿梭于海洋神话与明代造船工艺间