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


相关文章
|
2月前
|
前端开发
css 设置背景色渐变、字体颜色渐变
css 设置背景色渐变、字体颜色渐变
|
3月前
|
前端开发
前端基础(五)_CSS文本文字属性、背景颜色属性
本文详细介绍了CSS中关于文本和背景颜色的样式属性。包括字体大小、字体族、字体加粗、字体样式、文本行高、`font`属性、文本颜色、文本对齐方式、文本装饰线、首行缩进等文本属性,以及背景颜色、背景图片、背景重复、背景位置等背景属性。文章通过示例代码展示了这些属性的具体应用和效果。
43 3
前端基础(五)_CSS文本文字属性、背景颜色属性
|
2月前
|
前端开发 开发者 容器
Vue3中Sass的安装与使用指南:轻松上手CSS预处理器
Vue3中Sass的安装与使用指南:轻松上手CSS预处理器
269 0
|
4月前
|
前端开发 JavaScript
|
3月前
|
JavaScript 前端开发
react Or vue中引入animate.css
本文介绍了如何在React或Vue项目中引入animate.css库来使用动画效果,包括通过npm安装或在线链接引入,并展示了如何在React组件和Vue路由过渡中使用动画类。
64 0
|
3月前
|
前端开发
Vue3基础(十ba)___在css中使用props或者计算属性的变量,来实现动态样式
本文介绍了如何在Vue3中通过CSS变量和props或计算属性来实现动态样式。
56 0
|
4月前
|
前端开发 JavaScript API
Vue 3 新特性:在 Composition API 中使用 CSS Modules
Vue 3 新特性:在 Composition API 中使用 CSS Modules
|
4月前
|
前端开发
css 渐变效果,这颜色 666 !
css 渐变效果,这颜色 666 !
|
4月前
|
前端开发 JavaScript
使用Vue+CSS实现汉堡图标过渡为叉号图标,有点意思
本文分享了如何使用Vue和CSS实现一个汉堡图标在点击时过渡为叉号图标的动画效果,并提供了详细的实现代码和效果演示。
71 0
使用Vue+CSS实现汉堡图标过渡为叉号图标,有点意思
|
4月前
|
前端开发 UED
设计新潮流:CSS动画毛玻璃按钮,展开效果引人入胜!
设计新潮流:CSS动画毛玻璃按钮,展开效果引人入胜!