Vue3 v-bind绑定css中的var变量实现动态样式

        在日常的开发中,我们常常遇到这样的需求:点击一个button改变页面中某个元素的样式,在这样的场景中,我们可以使用v-bind绑定css中的var变量,来动态的切换元素的样式

        一个小栗子,在setup语法糖环境下,点击一个button动态切换另一个元素的背景色

<template><div class="box"><div class="intro"><div class="btxt" :style="{'--text-color':textColor}">使用v-bind绑定语法糖中的颜色常量的值给style中的变量</div></div><div class="intro"><div class="btn" @click="changeColor">点击button改变textColor的值,动态更新颜色的值</div></div></div>
</template>
<script setup>
import { ref } from 'vue'
const textColor = ref("blue");
const changeColor = () => {if (textColor.value === "blue") {textColor.value = "pink";} else {textColor.value = "blue"} };
</script>
<style scoped lang="less">
.box{display: flex;flex-direction: column;.intro{background-color: antiquewhite;margin: 10px;padding: 15px;.btn{display: inline-block;padding: 18px 35px 18px 35px;}}
}
.btxt{padding: 18px 35px 18px 35px;color: var(--text-color);
}
</style>

一个小栗子,在非setup语法糖的环境下使用v-bind绑定css中的var变量,实现当鼠标悬停在一个button上时配置button的伪类hover中的背景色,点击button后通过切换var变量对应的颜色值,动态切换button的背景色,代码如下:

<template><div class="box"><div class="btn" :style="{'--color-back':backColor}" @click="changeEvent">使用v-bind绑定非setup语法糖环境下的style值</div></div>
</template>
<script>
export default{name:"ChangeButton",data(){return {backColor: "cadetblue"}},methods:{changeEvent(){let color = this.$data.backColorif (color === "cadetblue") {this.$data.backColor = "orange"} else {this.$data.backColor = "cadetblue"}}}
}
</script>
<style scoped lang="less">
.box{.btn{background-color: var(--color-back);display: inline-block;padding: 18px 35px 18px 35px;border-radius: 5px;}
}
.btn:hover{background-color: lightgrey;
}
.btn:active{animation: changeck 0.3s ease;
}
@keyframes changeck {0% {transform: scale(1);}50% {transform: scale(0.95);}100% {transform: scale(1);}
}
</style>
<template><div class="box"><div class="intro"><change-button></change-button></div></div>
</template>
<script setup>
import ChangeButton from './components/index.vue'
</script>
<style scoped lang="less">
.box{display: flex;flex-direction: column;
}
</style>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/807628.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

敏捷开发是什么?敏捷开发的流程有什么?

敏捷开发是什么&#xff1f; 敏捷开发是一种灵活且迭代的软件开发方法论&#xff0c;它强调快速响应变化、高效协作、持续交付价值以及高度关注业务目标与客户满意度。敏捷开发采用短周期&#xff08;称为“迭代”或“冲刺”&#xff09;来开发、测试和交付可用的产品增量&…

日志埋点功能

前言 开发中经常会有日志埋点需求, 用于统计接口的请求量、处理速度等等,为此本篇幅从一下几个维度进行分析,从零到有搭建。 技术架构解析 实现日志埋点功能,从字面意思就可以想到功能大致分为两个方向: 1、 埋点功能(logback + 封装通用SDK方法 + 共享文件夹(如果是多…

Sketch3D:用于草图到3D生成的样式一致性指南

Sketch3D: Style-Consistent Guidance for Sketch-to-3D Generation Sketch3D&#xff1a;用于草图到3D生成的样式一致性指南 Wangguandong Zheng 重试 错误原因 Southeast UniversityChina 重试 错误原因 wgdzhengseu.edu.cnHaifeng Xia 重试 错误原因 Southeast Universit…

设计模式总结-简单工厂模式

简单工厂模式 创建型模式创建型模式概述创建型模式种类 简单工厂模式模式定义模式动机模式结构模式分析模式实例与解析实例一&#xff1a;简单电视机工厂实例二&#xff1a;权限管理 模式优缺点简单工厂模式的优点简单工厂模式的缺点 模式适用环境模式扩展 小结 创建型模式 创…

如何在Ubuntu系统使用docker部署DbGate容器并发布至公网可访问

文章目录 1. 安装Docker2. 使用Docker拉取DbGate镜像3. 创建并启动DbGate容器4. 本地连接测试5. 公网远程访问本地DbGate容器5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定公网地址远程访问 本文主要介绍如何在Linux Ubuntu系统中使用Docker部署DbGate数据库管理工…

Unstructured - 提取非结构化数据

文章目录 一、关于 Unstructured核心概念&#x1f680; Beta 功能&#xff1a;Chipper 模型 二、安装方式一&#xff1a;使用 PYPI方式二&#xff1a;使用源码本地安装安装依赖库测试 三、在Docker运行库添加shell构建自己的 Docker image交互运行 四、PDF文档解析示例 一、关于…

node 的路径分析和文件查找策略

注意本篇文章的内容可以在《深入浅出 nodejs》这一本书中的 2.2 章节中找到详细介绍&#xff0c;这里只说结论 首先必须明确几点 node 中使用的 commonjs 规范commonjs 规范使用 require 导入模块 模块就是文件&#xff0c;每一个文件都是一个模块 所以 node 中路径分析主要是…

【随笔】Git 高级篇 -- 快速定位分支 ^|~(二十三)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

关于鸿蒙HarmonyOS,现在关注什么可以更高效

对于移动端来讲&#xff0c;今年最火的关键词除了裁员&#xff0c;我想就是鸿蒙HarmonyOS了。其实鸿蒙的推出也给安卓端的同学提供了职业发展的新路径或方向。 鸿蒙&#xff0c;原本源自中国神话传说的名字&#xff0c;如今已成为了科技领域的焦点&#xff0c;招聘网站上也出现…

【C语言】C语言题库【附源码+持续更新】

欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 目录 1、练习2-1 Programming in C is fun! 2、练习2-3 输出倒三角图案 3、练习2-4 温度转换 4、练习2-6 计算物体自由下落的距离 5、练习2-8 计算摄氏温度 6、练习2-9 整数四则运算 7、练习2-10 计算分段函数[1…

ELFK (Filebeat+ELK)日志分析系统

一. 相关介绍 Filebeat&#xff1a;轻量级的开源日志文件数据搜集器。通常在需要采集数据的客户端安装 Filebeat&#xff0c;并指定目录与日志格式&#xff0c;Filebeat 就能快速收集数据&#xff0c;并发送给 logstash 进或是直接发给 Elasticsearch 存储&#xff0c;性能上相…

【计算机毕业设计】网上宠物商店管理系统——后附源码

&#x1f389;**欢迎来到我的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 一名来自世界500强的资深程序媛&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于…

git 常用命令以及规范

分支命名遵循&#xff1a;master、develop、release-*、hotfix-*、feature-* # 查看本地分支 git branch# 创建一个新分支 git checkout -b feature-xxx # 或执行 git checkout -b feature-xxx develop 基于 develop 分支创建新分支# 切换分支 git checkout feature-xxx# 删除…

DSP笔记8-通用GPIO

电源类 AD引脚类 系统相关JTAG 时钟 GPIO (general purpose input output)复用&#xff0c; 复用&#xff0c;I/O引脚&#xff0c;外设的功能引脚&#xff0c; 88个GPIO引脚&#xff0c;通用的输入输出口&#xff0c;功能复用的。 GPIO特点 输入电平与TTL电平兼容。>2.0V…

Spring的@Bean通过配置文件实现加载控制???

Configuration public class MyConfiguration {BeanConditionalOnProperty(name "myapp.feature.enabled", havingValue "true")public TestBean TestBean() {return new TestBean();} } 在application.yml中配置 myapp:feature:enabled: true TestBea…

大数据开发教程

一、大数据开发概述 大数据开发涉及对海量数据的采集、存储、处理、分析和可视化等一系列过程。大数据技术的应用广泛&#xff0c;包括商业智能、市场趋势分析、客户行为预测等众多领域。掌握大数据开发技术对于现代企业来说至关重要&#xff0c;它能帮助企业更好地洞察市场&a…

Redis(Windows版本下载安装和使用)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

【蓝桥杯】快读快写

快读 import java.io.*; public class test {public static void main(String args[]) throws IOException{StreamTokenizer st new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); st.nextToken();String str st.sval;//读取String类型数据st.ne…

软件包名生成参考

服务名称-分支名称-最后提交时间(精确到秒)-最后提交-编译时间(unix时间戳) 示例&#xff1a;crm_5.2_221024-221020160306-b846f829-1665655859 包名生成脚本参考&#xff1a; 分支名称 export GIT_BRANCH$(git branch|grep "\*"|head -n1|awk {print $NF})git最…

使用aspose相关包将excel转成pdf 并导出

SpringBoot 项目 基于aspose相关jar包 将excel 转换成pdf 导出 1、依赖的jar包 &#xff0c; jar获取链接 aspose相关三方jar &#xff0c;下载解压后,在项目路径下建一个libs包&#xff0c;然后将下图两个jar 拷贝至刚新建的libs目录中 2、pom.xml中加入maven引入 <depend…