vue3通过css对按钮替换主题颜色

简介: vue3通过css对按钮替换主题颜色

vue3使用css通过按钮替换主题

定义一个对象用来存放颜色

const theme = reactive({
  fontColor: "",
  backgroundColor: "",
});

写个方法用来存储对象

const setWhiteTheme = () => {
  theme.fontColor = "#DA7093";
  theme.backgroundColor = "#fff";
};
const setBlackTheme = () => {
  theme.fontColor = "#fff";
  theme.backgroundColor = "#DA7093";
};

最后弄一个按钮来控制这个颜色的变化

const checkedStatus = ref("未选中");
const select = (e: any) => {
  if (e.target.checked == true) {
    //当判断复选框被选中时,可以做一些处理事件
    checkedStatus.value = "选中";
    window.sessionStorage.setItem("xzz", checkedStatus.value);
    setBlackTheme();
  } else {
    checkedStatus.value = "未选中";
    window.sessionStorage.setItem("xzz", checkedStatus.value);
    setWhiteTheme();
  }
};

最后通过v-bind给最外层的盒子添加需要替换的颜色

.main {
  color: v-bind("theme.fontColor");
  background-color: v-bind("theme.backgroundColor");
}
    <div class="main">
        <input type="checkbox" class="dn" id="dn" ref="e" @click="select">
    </div>

效果如下:

5714063afe9240df90e93f6af4a22ef0.gif


相关文章
|
22天前
|
前端开发 JavaScript
|
21天前
|
前端开发 JavaScript API
Vue 3 新特性:在 Composition API 中使用 CSS Modules
Vue 3 新特性:在 Composition API 中使用 CSS Modules
|
28天前
|
前端开发
css 渐变效果,这颜色 666 !
css 渐变效果,这颜色 666 !
|
1月前
|
前端开发 JavaScript
使用Vue+CSS实现汉堡图标过渡为叉号图标,有点意思
本文分享了如何使用Vue和CSS实现一个汉堡图标在点击时过渡为叉号图标的动画效果,并提供了详细的实现代码和效果演示。
53 0
使用Vue+CSS实现汉堡图标过渡为叉号图标,有点意思
|
28天前
|
前端开发 UED
设计新潮流:CSS动画毛玻璃按钮,展开效果引人入胜!
设计新潮流:CSS动画毛玻璃按钮,展开效果引人入胜!
|
28天前
|
前端开发 搜索推荐 容器
创意按钮,触手可及:CSS不规则形状效果揭秘!
创意按钮,触手可及:CSS不规则形状效果揭秘!
|
1月前
|
前端开发
css来实现一个好玩的按钮
这段代码实现了一个具有独特悬停效果的按钮。通过定义按钮及其`:after`伪元素,并设置初始状态下的透明度和尺寸,当鼠标悬停在按钮上时,背景色平滑过渡至另一种颜色,产生视觉上的动态扩展效果。为避免覆盖文字,特地调整了伪元素的层级,确保交互过程中文字始终可见。整体效果流畅自然,增强了用户界面的互动性与美观度。
42 0
|
2月前
|
前端开发
vue3 【提效】使用 CSS 框架 UnoCSS 实用教程
vue3 【提效】使用 CSS 框架 UnoCSS 实用教程
127 1
|
2月前
|
JavaScript 前端开发 容器
vue组件封装——固定宽高比的容器(2种方法:纯CSS实现 + JS实现)
vue组件封装——固定宽高比的容器(2种方法:纯CSS实现 + JS实现)
89 2
|
2月前
|
前端开发 JavaScript
vue3【实战】创建项目、创建并提交代码到远程仓库,安装 SASS, 清除浏览器默认样式 reset-css, 清除模板代码,提升开发效率的必要集成
vue3【实战】创建项目、创建并提交代码到远程仓库,安装 SASS, 清除浏览器默认样式 reset-css, 清除模板代码,提升开发效率的必要集成
46 0