2026/4/6 9:19:53
网站建设
项目流程
网站集约化平台建设,展示型企业网站制作费用,网站上传源码后怎么弄,域名备案要求uni-app 全端动态换肤方案 (Vue2 uView 1.0)方案一#xff1a;CSS 变量 SCSS 预处理在 uni.scss 中定义全局 CSS 变量#xff0c;通过 SCSS 变量映射实现动态切换。修改 uni.scss 文件#xff1a;$theme-colors: (primary: #2979ff,success: #18b566,warning: #f3a73f,err…uni-app 全端动态换肤方案 (Vue2 uView 1.0)方案一CSS 变量 SCSS 预处理在uni.scss中定义全局 CSS 变量通过 SCSS 变量映射实现动态切换。修改uni.scss文件$theme-colors: ( primary: #2979ff, success: #18b566, warning: #f3a73f, error: #f56c6c ); :root { each $key, $value in $theme-colors { --color-#{$key}: #{$value}; } }在页面或组件中使用 CSS 变量style langscss .u-button { background-color: var(--color-primary); } /style动态修改主题色时通过 JavaScript 操作 DOM 更新变量document.documentElement.style.setProperty(--color-primary, newColor);方案二uView 主题变量覆盖uView 1.0 使用 SCSS 变量定义主题可通过修改uview-ui/theme.scss实现换肤。创建自定义主题文件custom-theme.scss$u-type-primary: #4cd964; $u-main-color: #303133;在App.vue中引入自定义主题style langscss import uview-ui/index.scss; import /styles/custom-theme.scss; /style动态切换时需重新编译 SCSS可通过 uni-app 的require动态加载const themePath /styles/themes/${themeName}.scss; require(themePath);方案三类名切换 预定义主题预定义多套主题样式通过切换 body 的 class 实现换肤。定义主题文件themes.css.theme-light { --color-primary: #2979ff; --bg-color: #ffffff; } .theme-dark { --color-primary: #4cd964; --bg-color: #121212; }在 JavaScript 中动态切换// 切换浅色主题 document.body.className theme-light; // 切换深色主题 document.body.className theme-dark;方案四运行时样式动态注入通过 less 或 scss 的 modifyVars 在运行时动态修改变量。安装sass-loader和sassnpm install sass sass-loader10 -D创建主题管理器theme.jsconst themes { default: { primary: #2979ff }, dark: { primary: #000000 } }; export function setTheme(themeName) { const theme themes[themeName]; for (const key in theme) { document.documentElement.style.setProperty(--color-${key}, theme[key]); } }注意事项uView 1.0 部分组件样式需单独处理例如 tabbar 需要手动更新样式。动态修改后可能需要强制更新组件this.$forceUpdate();小程序环境需使用uni.setStorageSync保存主题选择下次启动时加载// 保存主题 uni.setStorageSync(currentTheme, dark); // 读取主题 const theme uni.getStorageSync(currentTheme) || default;兼容性处理H5 端直接操作 DOM小程序端需使用uni.setNavigationBarColor等 APIuni.setNavigationBarColor({ frontColor: #ffffff, backgroundColor: newThemeColor });App 端需调用原生 API 修改状态栏颜色plus.navigator.setStatusBarStyle(light);通过组合以上方法可实现 uni-app 全端动态换肤方案。avg.163.com/topic/detail/8918941avg.163.com/topic/detail/8918939avg.163.com/topic/detail/8918938avg.163.com/topic/detail/8918937avg.163.com/topic/detail/8918936avg.163.com/topic/detail/8918935avg.163.com/topic/detail/8918934avg.163.com/topic/detail/8918932avg.163.com/topic/detail/8918933avg.163.com/topic/detail/8918931avg.163.com/topic/detail/8918930avg.163.com/topic/detail/8918928avg.163.com/topic/detail/8918927avg.163.com/topic/detail/8918925avg.163.com/topic/detail/8918924avg.163.com/topic/detail/8918922avg.163.com/topic/detail/8918921avg.163.com/topic/detail/8918919avg.163.com/topic/detail/8918920avg.163.com/topic/detail/8918918avg.163.com/topic/detail/8918917avg.163.com/topic/detail/8918915avg.163.com/topic/detail/8918913avg.163.com/topic/detail/8918912avg.163.com/topic/detail/8918911avg.163.com/topic/detail/8918910avg.163.com/topic/detail/8918909avg.163.com/topic/detail/8918907avg.163.com/topic/detail/8918906avg.163.com/topic/detail/8918905avg.163.com/topic/detail/8918904avg.163.com/topic/detail/8918903avg.163.com/topic/detail/8918902avg.163.com/topic/detail/8918901avg.163.com/topic/detail/8918900avg.163.com/topic/detail/8918899avg.163.com/topic/detail/8918898avg.163.com/topic/detail/8918897avg.163.com/topic/detail/8918896avg.163.com/topic/detail/8918895avg.163.com/topic/detail/8918894avg.163.com/topic/detail/8918892avg.163.com/topic/detail/8918887avg.163.com/topic/detail/8918886avg.163.com/topic/detail/8918885avg.163.com/topic/detail/8918884avg.163.com/topic/detail/8918883avg.163.com/topic/detail/8918882avg.163.com/topic/detail/8918881avg.163.com/topic/detail/8918880avg.163.com/topic/detail/8918874avg.163.com/topic/detail/8918872avg.163.com/topic/detail/8918871avg.163.com/topic/detail/8918870avg.163.com/topic/detail/8918869avg.163.com/topic/detail/8918868avg.163.com/topic/detail/8918867avg.163.com/topic/detail/8918866avg.163.com/topic/detail/8918865avg.163.com/topic/detail/8918864avg.163.com/topic/detail/8918858avg.163.com/topic/detail/8918855avg.163.com/topic/detail/8918854avg.163.com/topic/detail/8918853avg.163.com/topic/detail/8918852avg.163.com/topic/detail/8918851avg.163.com/topic/detail/8918849avg.163.com/topic/detail/8918850avg.163.com/topic/detail/8918848avg.163.com/topic/detail/8918847avg.163.com/topic/detail/8918838avg.163.com/topic/detail/8918834avg.163.com/topic/detail/8918833avg.163.com/topic/detail/8918832avg.163.com/topic/detail/8918830avg.163.com/topic/detail/8918831avg.163.com/topic/detail/8918826avg.163.com/topic/detail/8918825avg.163.com/topic/detail/8918824avg.163.com/topic/detail/8918823avg.163.com/topic/detail/8918805avg.163.com/topic/detail/8918804avg.163.com/topic/detail/8918796avg.163.com/topic/detail/8918795avg.163.com/topic/detail/8918794avg.163.com/topic/detail/8918788avg.163.com/topic/detail/8918785avg.163.com/topic/detail/8918777avg.163.com/topic/detail/8918766avg.163.com/topic/detail/8918747avg.163.com/topic/detail/8918745avg.163.com/topic/detail/8918744avg.163.com/topic/detail/8918730avg.163.com/topic/detail/8918731avg.163.com/topic/detail/8918733avg.163.com/topic/detail/8918728avg.163.com/topic/detail/8918723avg.163.com/topic/detail/8918708avg.163.com/topic/detail/8918704avg.163.com/topic/detail/8918673avg.163.com/topic/detail/8918681avg.163.com/topic/detail/8918679avg.163.com/topic/detail/8918667avg.163.com/topic/detail/8918662avg.163.com/topic/detail/8918651avg.163.com/topic/detail/8918652avg.163.com/topic/detail/8918648avg.163.com/topic/detail/8918640avg.163.com/topic/detail/8918639avg.163.com/topic/detail/8918594avg.163.com/topic/detail/8918597avg.163.com/topic/detail/8918587avg.163.com/topic/detail/8918586avg.163.com/topic/detail/8918585avg.163.com/topic/detail/8918584avg.163.com/topic/detail/8918582avg.163.com/topic/detail/8918581avg.163.com/topic/detail/8918577avg.163.com/topic/detail/8918576avg.163.com/topic/detail/8918526avg.163.com/topic/detail/8918524avg.163.com/topic/detail/8918521avg.163.com/topic/detail/8918519avg.163.com/topic/detail/8918518avg.163.com/topic/detail/8918514avg.163.com/topic/detail/8918510avg.163.com/topic/detail/8918512avg.163.com/topic/detail/8918507avg.163.com/topic/detail/8918506avg.163.com/topic/detail/8918464avg.163.com/topic/detail/8918463avg.163.com/topic/detail/8918460avg.163.com/topic/detail/8918459avg.163.com/topic/detail/8918457avg.163.com/topic/detail/8918455avg.163.com/topic/detail/8918450avg.163.com/topic/detail/8918452avg.163.com/topic/detail/8918440avg.163.com/topic/detail/8918439avg.163.com/topic/detail/8918397avg.163.com/topic/detail/8918396avg.163.com/topic/detail/8918395avg.163.com/topic/detail/8918394avg.163.com/topic/detail/8918392avg.163.com/topic/detail/8918383avg.163.com/topic/detail/8918381avg.163.com/topic/detail/8918382avg.163.com/topic/detail/8918380avg.163.com/topic/detail/8918378avg.163.com/topic/detail/8918339avg.163.com/topic/detail/8918341avg.163.com/topic/detail/8918335avg.163.com/topic/detail/8918333avg.163.com/topic/detail/8918332avg.163.com/topic/detail/8918325avg.163.com/topic/detail/8918323avg.163.com/topic/detail/8918322avg.163.com/topic/detail/8918314avg.163.com/topic/detail/8918320avg.163.com/topic/detail/8918274avg.163.com/topic/detail/8918275avg.163.com/topic/detail/8918272avg.163.com/topic/detail/8918268avg.163.com/topic/detail/8918267avg.163.com/topic/detail/8918260avg.163.com/topic/detail/8918264avg.163.com/topic/detail/8918263avg.163.com/topic/detail/8918247avg.163.com/topic/detail/8918231avg.163.com/topic/detail/8918208avg.163.com/topic/detail/8918207avg.163.com/topic/detail/8918202avg.163.com/topic/detail/8918205avg.163.com/topic/detail/8918201avg.163.com/topic/detail/8918190avg.163.com/topic/detail/8918193avg.163.com/topic/detail/8918197avg.163.com/topic/detail/8918174avg.163.com/topic/detail/8918168avg.163.com/topic/detail/8918136avg.163.com/topic/detail/8918140avg.163.com/topic/detail/8918122avg.163.com/topic/detail/8918132avg.163.com/topic/detail/8918125avg.163.com/topic/detail/8918109avg.163.com/topic/detail/8918108avg.163.com/topic/detail/8918107avg.163.com/topic/detail/8918103avg.163.com/topic/detail/8918100avg.163.com/topic/detail/8918056avg.163.com/topic/detail/8918054avg.163.com/topic/detail/8918052avg.163.com/topic/detail/8918051avg.163.com/topic/detail/8918049avg.163.com/topic/detail/8918045avg.163.com/topic/detail/8918043avg.163.com/topic/detail/8918042avg.163.com/topic/detail/8918039avg.163.com/topic/detail/8918035avg.163.com/topic/detail/8917989avg.163.com/topic/detail/8917992avg.163.com/topic/detail/8917993avg.163.com/topic/detail/8917990avg.163.com/topic/detail/8917987avg.163.com/topic/detail/8917984avg.163.com/topic/detail/8917980avg.163.com/topic/detail/8917978avg.163.com/topic/detail/8917972avg.163.com/topic/detail/8917970avg.163.com/topic/detail/8917934avg.163.com/topic/detail/8917927avg.163.com/topic/detail/8917928avg.163.com/topic/detail/8917926avg.163.com/topic/detail/8917925avg.163.com/topic/detail/8917924avg.163.com/topic/detail/8917923avg.163.com/topic/detail/8917921avg.163.com/topic/detail/8917917avg.163.com/topic/detail/8917911avg.163.com/topic/detail/8917886avg.163.com/topic/detail/8917884avg.163.com/topic/detail/8917881avg.163.com/topic/detail/8917879avg.163.com/topic/detail/8917877avg.163.com/topic/detail/8917880avg.163.com/topic/detail/8917883avg.163.com/topic/detail/8917878avg.163.com/topic/detail/8917869avg.163.com/topic/detail/8917870avg.163.com/topic/detail/8917835avg.163.com/topic/detail/8917832avg.163.com/topic/detail/8917830avg.163.com/topic/detail/8917831avg.163.com/topic/detail/8917827avg.163.com/topic/detail/8917826avg.163.com/topic/detail/8917825avg.163.com/topic/detail/8917823avg.163.com/topic/detail/8917818avg.163.com/topic/detail/8917817avg.163.com/topic/detail/8917785avg.163.com/topic/detail/8917782avg.163.com/topic/detail/8917781avg.163.com/topic/detail/8917780avg.163.com/topic/detail/8917778avg.163.com/topic/detail/8917779avg.163.com/topic/detail/8917777avg.163.com/topic/detail/8917774avg.163.com/topic/detail/8917771avg.163.com/topic/detail/8917768avg.163.com/topic/detail/8917736avg.163.com/topic/detail/8917733avg.163.com/topic/detail/8917731avg.163.com/topic/detail/8917729avg.163.com/topic/detail/8917728avg.163.com/topic/detail/8917727avg.163.com/topic/detail/8917726avg.163.com/topic/detail/8917725avg.163.com/topic/detail/8917723avg.163.com/topic/detail/8917721avg.163.com/topic/detail/8917698avg.163.com/topic/detail/8917691avg.163.com/topic/detail/8917690avg.163.com/topic/detail/8917686avg.163.com/topic/detail/8917689avg.163.com/topic/detail/8917687avg.163.com/topic/detail/8917685avg.163.com/topic/detail/8917688avg.163.com/topic/detail/8917677avg.163.com/topic/detail/8917673avg.163.com/topic/detail/8917656avg.163.com/topic/detail/8917650avg.163.com/topic/detail/8917649avg.163.com/topic/detail/8917647avg.163.com/topic/detail/8917646avg.163.com/topic/detail/8917644avg.163.com/topic/detail/8917648avg.163.com/topic/detail/8917643avg.163.com/topic/detail/8917640avg.163.com/topic/detail/8917638avg.163.com/topic/detail/8917599avg.163.com/topic/detail/8917600avg.163.com/topic/detail/8917598avg.163.com/topic/detail/8917596avg.163.com/topic/detail/8917595avg.163.com/topic/detail/8917594avg.163.com/topic/detail/8917593avg.163.com/topic/detail/8917589avg.163.com/topic/detail/8917586avg.163.com/topic/detail/8917550avg.163.com/topic/detail/8917557avg.163.com/topic/detail/8917553avg.163.com/topic/detail/8917551avg.163.com/topic/detail/8917547avg.163.com/topic/detail/8917548avg.163.com/topic/detail/8917546avg.163.com/topic/detail/8917544avg.163.com/topic/detail/8917541avg.163.com/topic/detail/8917538avg.163.com/topic/detail/8917536avg.163.com/topic/detail/8917508avg.163.com/topic/detail/8917507avg.163.com/topic/detail/8917503avg.163.com/topic/detail/8917501avg.163.com/topic/detail/8917497avg.163.com/topic/detail/8917496avg.163.com/topic/detail/8917500avg.163.com/topic/detail/8917502avg.163.com/topic/detail/8917499avg.163.com/topic/detail/8917498avg.163.com/topic/detail/8917495avg.163.com/topic/detail/8917494avg.163.com/topic/detail/8917491avg.163.com/topic/detail/8917486avg.163.com/topic/detail/8917482avg.163.com/topic/detail/8917453avg.163.com/topic/detail/8917452avg.163.com/topic/detail/8917450avg.163.com/topic/detail/8917444avg.163.com/topic/detail/8917449avg.163.com/topic/detail/8917446avg.163.com/topic/detail/8917445avg.163.com/topic/detail/8917442avg.163.com/topic/detail/8917440avg.163.com/topic/detail/8917443avg.163.com/topic/detail/8917438avg.163.com/topic/detail/8917439avg.163.com/topic/detail/8917437avg.163.com/topic/detail/8917435avg.163.com/topic/detail/8917430avg.163.com/topic/detail/8917404avg.163.com/topic/detail/8917400avg.163.com/topic/detail/8917395avg.163.com/topic/detail/8917402avg.163.com/topic/detail/8917399avg.163.com/topic/detail/8917396avg.163.com/topic/detail/8917407avg.163.com/topic/detail/8917406avg.163.com/topic/detail/8917403avg.163.com/topic/detail/8917393avg.163.com/topic/detail/8917392avg.163.com/topic/detail/8917397avg.163.com/topic/detail/8917389avg.163.com/topic/detail/8917388avg.163.com/topic/detail/8917386avg.163.com/topic/detail/8917368avg.163.com/topic/detail/8917363avg.163.com/topic/detail/8917367avg.163.com/topic/detail/8917369avg.163.com/topic/detail/8917365avg.163.com/topic/detail/8917364avg.163.com/topic/detail/8917362avg.163.com/topic/detail/8917361avg.163.com/topic/detail/8917360avg.163.com/topic/detail/8917357avg.163.com/topic/detail/8917358avg.163.com/topic/detail/8917355avg.163.com/topic/detail/8917354avg.163.com/topic/detail/8917353avg.163.com/topic/detail/8917352avg.163.com/topic/detail/8917342avg.163.com/topic/detail/8917339avg.163.com/topic/detail/8917341avg.163.com/topic/detail/8917338avg.163.com/topic/detail/8917336avg.163.com/topic/detail/8917337avg.163.com/topic/detail/8917340avg.163.com/topic/detail/8917335avg.163.com/topic/detail/8917334avg.163.com/topic/detail/8917333avg.163.com/topic/detail/8917332avg.163.com/topic/detail/8917331avg.163.com/topic/detail/8917330avg.163.com/topic/detail/8917329avg.163.com/topic/detail/8917328avg.163.com/topic/detail/8917324avg.163.com/topic/detail/8917327avg.163.com/topic/detail/8917326avg.163.com/topic/detail/8917325avg.163.com/topic/detail/8917323avg.163.com/topic/detail/8917322