首页 > 移动平台 > 详细

uniapp设置不同的主题(Theme)

时间:2020-11-02 16:40:08      阅读:529      评论:0      收藏:0      [点我收藏+]

App.vue:

<style lang="stylus">

@css {
html {
  --primary: blue;
  --bg-image: url(https://i.loli.net/2020/10/14/gQq96O4DxRVXSKP.jpg);
}
html[data-theme=‘green‘] {
 --primary: green;
  --bg-image: url(https://i.loli.net/2020/10/14/KdraGmYFC8Wpsz5.jpg);
}
html[data-theme=‘pink‘] {
 --primary: pink;
 --bg-image: url(https://i.loli.net/2020/10/14/O4wUuGvM3Cdjl16.jpg);
}
}

</style>

组件中使用主题和切换主题:

<template>
  <view class="content">
    <view class="title"><text>hello world</text></view>
    <button type="default" @click="changeTheme(1)">theme blue</button>
    <button type="default" @click="changeTheme(2)">theme green</button>
    <button type="default" @click="changeTheme(3)">theme pink</button>
  </view>
</template>

<script>
export default {
  data() {
    return {};
  },
  methods: {
    changeTheme(id) {
      if (id == 1) {
        document.documentElement.removeAttribute(‘data-theme‘);
      } else if (id == 2) {
        document.documentElement.setAttribute(‘data-theme‘, ‘green‘);
      } else if (id == 3) {
        document.documentElement.setAttribute(‘data-theme‘, ‘pink‘);
      }
    }
  }
};
</script>

<style lang="stylus">
.content
  min-height 100vh
  background-image unquote(‘var(--bg-image)‘)
.title
  color unquote(‘var(--primary)‘)
</style>

See also:

uniapp设置不同的主题(Theme)

原文:https://www.cnblogs.com/ajanuw/p/13914782.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!