当前位置: 首页 > news >正文

四川省建设勘察设计网站wordpress做首页

四川省建设勘察设计网站,wordpress做首页,cnu摄影官网,嘉兴网红桥在哪里目录 一、背景 二、实现思路 方法1:定义全局的CSS变量 方法2:切换已定义好的css文件 方法3:切换顶级CSS类名 (需使用css处理器,如sass、less等) 一、背景 在我们开发中我们会遇到像是需要切换程序风格、主题切换啦这种应用场景。 参考大佬…

目录

一、背景

二、实现思路 

方法1:定义全局的CSS变量

 方法2:切换已定义好的css文件

 方法3:切换顶级CSS类名 (需使用css处理器,如sass、less等)


一、背景

在我们开发中我们会遇到像是需要切换程序风格、主题切换啦这种应用场景。

参考大佬博客!!!

vue中实现 ‘换肤 / 切换样式主题’ 功能的三种方式详解(纯干huo)_vue换肤_Jason Ma丶丶前端工程师的博客-CSDN博客

vue中实现 ‘换肤 / 切换样式主题’ 功能的三种方式详解(纯干huo)_vue换肤_Jason Ma丶丶前端工程师的博客-CSDN博客 

二、实现思路 

方法1:定义全局的CSS变量

App.vue:

<style>
/* 定义全局的css变量 */
:root {/* 背景色 */--theme_bg_color: red;/* 按钮颜色 */--theme_button_color: yellowgreen;
}
</style>

demo.vue(css):

<style scoped>/* 使用全局的css变量设置颜色 */
.myButton {background: var(--theme_bg_color);
}
.myDiv {background: var(--theme_button_color);width: 200px;height: 200px;
}
</style>

demo.vue(html):

    <h3>换肤 / 切换样式主题 方式1:</h3><button @click="changeTheme('Moccasin')">换肤为Moccasin</button><button @click="changeTheme('#1E90FF')">换肤为#1E90FF</button><button @click="changeTheme('#00FF7F')">换肤为#00FF7F</button><button @click="changeTheme('DeepPink')">换肤为DeepPink</button><button class="myButton">我是一个可以换肤的按钮</button><div class="myDiv">我是一个可以换肤的div</div>

demo.vue(js):

<script>
export default {setup() {// 切换主题方式1:修改全局CSS变量let changeTheme = (color) => {document.documentElement.style.setProperty("--theme_bg_color", color);document.documentElement.style.setProperty("--theme_button_color", color);};return { changeTheme  };},
};
</script>

效果:

 方法2:切换已定义好的css文件

Public/css/theme_1.css:

.myButton2{background: Moccasin;
}
.myDiv2 {background: Moccasin;
}

App.vue:

<script>
import { onMounted } from "vue";
export default {name: "App",components: {},setup() {onMounted(() => {console.log("App.vue ---- onMounted");//方式2(创建link标签默认引入 ./css/theme_1.css 主题样式文件)let link = document.createElement("link");link.type = "text/css";link.id = "theme";link.rel = "stylesheet";link.href = "./css/theme_1.css";document.getElementsByTagName("head")[0].appendChild(link);});return {};},
};
</script>

 demo.vue(html):

<h3>换肤 / 切换样式主题 方式2:</h3>
<button @click="changeTheme2(1)">换肤为Moccasin</button>
<button @click="changeTheme2(2)">换肤为#1E90FF</button>
<button @click="changeTheme2(3)">换肤为#00FF7F</button>
<button @click="changeTheme2(4)">换肤为DeepPink</button>
<button class="myButton2">我是一个可以换肤的按钮</button>
<div class="myDiv2">我是一个可以换肤的div</div>

demo.vue(js):

<script>
export default {setup() {// 切换主题方式2:切换已定义好的css文件let changeTheme2 = (type) => {document.getElementById("theme").href = `./css/theme_${type}.css`;};return { changeTheme2  };},
};
</script>

效果:

 方法3:切换顶级CSS类名 (需使用css处理器,如sass、less等)

src/assets/css/theme.less:

/* 预设四种主题 */
.theme_1 {.myButton3 {background: #00ff7f;}.myDiv3 {background: #00ff7f;}
}.theme_2 {.myButton3 {background: #00ff7f;}.myDiv3 {background: #00ff7f;}
}.theme_3 {.myButton3 {background: #00ff7f;}.myDiv3 {background: #00ff7f;}
}.theme_4 {.myButton3 {background: #00ff7f;}.myDiv3 {background: #00ff7f;}
}

 main.js:

// 方式3:需要先引入全局主题样式文件 
import "./assets/css/theme.less";

App.vue:

<script>
import { onMounted } from "vue";
export default {name: "App",components: {},setup() {onMounted(() => {console.log("App.vue ---- onMounted");//方式3(设置顶层div的class类名)document.getElementById("app").setAttribute("class", "theme_1");});return {};},
};
</script>

demo.vue(html):

<h3>换肤 / 切换样式主题 方式3:</h3>
<button @click="changeTheme3(1)">换肤为Moccasin</button>
<button @click="changeTheme3(2)">换肤为#1E90FF</button>
<button @click="changeTheme3(3)">换肤为#00FF7F</button>
<button @click="changeTheme3(4)">换肤为DeepPink</button>
<button class="myButton3">我是一个可以换肤的按钮</button>
<div class="myDiv3">我是一个可以换肤的div</div>

demo.vue(js):

<script>
export default {setup() {// 切换主题方式3:切换顶级CSS类名 (需使用处理器)let changeTheme3 = (type) => {document.getElementById("app").setAttribute("class", `theme_${type}`);};return { changeTheme3  };},
};
</script>

效果:

http://www.yayakq.cn/news/401528/

相关文章:

  • 如何引导企业老板做网站洛阳市建设工程造价信息网
  • 网站设计与建设考试招远做网站价格
  • htm5移动网站开发马克互联网主题 wordpress
  • 咨询学校网站开发费用朝阳网站建设 国展
  • 网站建设是如何寻找客户的百度查看订单
  • 大良网站建设市场信息网络犯罪
  • 手机网站开发按返回弹出提示窗口如何去除wordpress主题信息
  • mt4网站建设绿茵足球网站建设
  • 做网站怎么穿插元素企业网站运营方案
  • 在服务器上搭建网站济南正规做网站公司
  • 志愿服务网站建设中标公告wordpress建站用模板的弊端
  • 贵阳网站建设哪家郑州高新发布
  • 织梦协会网站模板微信h5爆点游戏源码
  • 上海网站se0优化微商产品展示网站源码
  • 替别人做设计的网站多少钱黑色个人网站欣赏
  • 深圳福田网站建设公司哪家好wordpress和dede
  • 网站建设存在不足一个网站一年的费用
  • 网页与网站设计实验报告今天出入深圳最新规定
  • 做pc端网站必知wordpress怎么添加ico
  • 网站开发 团队构成长沙企业建站公司
  • 网站建设考评表深圳网站创建公司
  • 公司网站 设计方案在线长图生成器
  • 高校网站建设网页设计与制作教程ps
  • 网站开发要花多少钱网站开发岗位需求分析
  • 东山县建设局网站电商创业怎么做
  • 电子商务网站推广策略论文wordpress mirana
  • 手机网站分享工程公司组织架构
  • 石家庄个人做网站江门网站建设方案
  • 论坛做视频网站有哪些购物手机网站建设
  • 南京网站推广做网站只开发手机端可不可以