html一键换肤,vue多主题风格切换 - 前端笔记-废话不多说 直接上代码 主要就是 :[data-theme=light]{....} 直接的css起作用,通过 html的自定义属性data-theme=“light”,切换li...

学习笔记

点滴记忆
回忆过往
首页>> web前端 >>html一键换肤,vue多主题风格切换 - 前端笔记
  废话不多说  直接上代码  主要就是  :[data-theme="light"]{....} 直接的css起作用,通过 html的自定义属性data-theme=“light”,切换light的主题,没整明白是不是  html5的新特性,但是我照猫画虎  能用,(--text-color)这个用法就是  var(--text-color) 这样去用的   其他自己尝试


app.vue的代码
<script setup lang="ts">
// This starter template is using Vue 3 <script setup> SFCs
// Check out https://vuejs.org/api/sfc-script-setup.html#script-setup
const handelClick = (t:boolean) => {
      const body = document.documentElement as HTMLElement;
      if (!t) body.setAttribute('data-theme', 'dark');
      else body.setAttribute('data-theme', 'light');
    };
</script>

<template>
<button type="submit" style="background-color: var(--text-color);" @click="handelClick(true)">true</button>
<button type="submit" style="background-color: var(--text-color);" @click="handelClick(false)">false</button>
</template>

main.js的代码

import { createApp } from 'vue'
import './style.css'
import './assets/dark.css'
import './assets/light.css'
import App from './App.vue'

createApp(App).mount('#app')


light.css的代码,
[data-theme="light"] {
    --body-background: #efefef;
    --text-color:  #333;
    --primary-color: #3D79C4;
    --danger-color: #E3524E;
    --warning-color: #ffa94e;
  }


e3deef5be1aa018010933ab5e85d093371761b05d7649d42fd506a7d613dc7b7QzpcVXNlcnNcZGJzZ3dcQXBwRGF0YVxSb2FtaW5nXERpbmdUYWxrXDQ2MjUwMjQyMF92MlxJbWFnZUZpbGVzXDE2NTc4MTAxOTY1MTZfMkUzN0ZCMjYtMTRGMC00ZGVmLUFCRTgtNTU1NzMwNDc4QjBCLnBuZw==.png


×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

打赏作者
版权所有,转载注意明处:前端笔记 » html一键换肤,vue多主题风格切换

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)