前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【UniApp】-uni-app-修改组件主题和样式

【UniApp】-uni-app-修改组件主题和样式

原创
作者头像
程序员NEO
修改于 2023-12-09 17:31:27
修改于 2023-12-09 17:31:27
2.7K0
举报

前言

  • 好,经过上个章节的介绍完毕之后,了解了一下 uni-app-扩展组件
  • 那么了解完了uni-app-扩展组件之后,这篇文章来给大家介绍一下 uni-app-修改组件主题和样式
  • 首先不管三七二十一,先来新建一个项目

搭建演示环境

创建一个全新的项目,因为本文要修改组件主题和样式,所以这次创建项目选择 uni-ui 模板:

然后在配置一下,微信小程序的 AppId,直接去之前的项目中拷贝一下即可,找到之前项目的 manifest.json 文件,然后选择微信小程序配置,复制一下即可。

  • 经过如上的这么一顿操作之后,就可以搭建完毕运行环境,与编码环境
  • 接下来就可以开始进行介绍 uni-app-修改组件主题和样式内容了

步入正题

修改组件主题

我们先使用一下组件,然后在看完了样式之后我们在进行修改,这里我们使用数字角标组件,先来看一下效果:

代码语言:html
AI代码解释
复制
<template>
	<view>
		<uni-badge text="2" type="primary"></uni-badge>
		<uni-badge text="4" type="error"></uni-badge>
		<uni-badge text="22" type="primary"></uni-badge>
	</view>
</template>

<script>
	export default {
	}
</script>

<style>
</style>

运行一下,效果如下:

我通过发现这个数字角标组件的样式是根据 type 属性来决定的,那么我们就可以通过修改 type 属性来修改组件的主题,比如说我们把 type 属性的值改为 success,那么组件的主题就会变成绿色。

那么知道了这些内容之后,我们就好办了,假如说我们要更改一下 type=primary 的颜色,那么我们就需要修改 primary 所对应的颜色。

我在前面的文章当中是不是有介绍到一个文件叫做 uni.scss,这个文件就是用来修改组件主题的,使用或修改对应的 scss 变量,就可以修改组件的主题。

上图中,是我查阅官方文档发现,提供了一些变量默认值,这些值就是当前组件的主题,我们可以通过修改这些值来修改组件的主题。

我们要更改的是 primary 的颜色,那么我们就可以在 uni.scss 文件中,找到 primary 这个变量,然后修改它的值即可。

注意:通过 uni-ui 创建的项目, uni.scss 文件是没有内容的,需要自己手动添加

假如说我将 primary 的颜色修改为 red,那么组件的主题就会变成红色。

代码语言:scss
AI代码解释
复制
$uni-primary: red;

修改组件主题的方式就是这样,首先你要确定你要修改组件对应的 scss 变量,在通过修改 uni.scss 文件中的变量值,就可以修改组件的主题。

最主要是就是查阅官方文档,大家都需要有这种查阅官方文档的习惯,这样才能更好的学习。

修改组件样式

就继续以上面的数字角标组件为例,我们来修改一下组件的样式,比如说我们想要修改一下组件的圆角,那么我们就可以通过修改组件的 border-radius 属性来修改组件的圆角, 还想修改一下文字的颜色,那么我们就可以通过修改组件的 color 属性来修改文字的颜色。

那么我们第一步要做的就是,找到要修改样式的组件所对应的元素类名, 这个时候我就打开控制台的审查元素。

然后我就可以看到,数字角标组件所对应的元素类名是 uni-badge,那么我们就可以通过修改 uni-badge 这个类名来修改组件的样式。

我这里可以很明确的告诉大家这样修改是不行的,要想修改组件样式有两种方案,分别是:

  1. 利用 Vue 的深度修改 :deep
  2. 利用全局属性 :global 修改

好,那么知道了方案我们就可以开始修改了,首先我们来看一下第一种方案,利用 Vue 的深度修改 :deep

代码语言:scss
AI代码解释
复制
<style>
	:deep(.uni-badge) {
		color: #000;
		border-radius: 5px;
	}
</style>
  • 运行在 H5 端的效果如下:

可以看到是一点问题都没有的,那么我们再来看一下运行在微信小程序端的效果:

可以看到是没有起效果的,那么这是为什么呢?因为我们没有加 !important,我们要将优先级提高, 加上 !important 之后,再来看一下效果:

注意:最好在修改的属性后面加上 !important,否则有的平台可能无效,上面已经验证过了

第二种方案,利用全局属性 :global 修改,这个方案就比较简单了,直接上代码:

代码语言:scss
AI代码解释
复制
<style>
	:global(.uni-badge) {
		color: #000 !important;
		border-radius: 5px !important;
	}
</style>

这里我就不贴效果图了,大家可以自己去运行一下,效果是一样的。

总结

  • 本篇文章主要给大家介绍了 uni-app-修改组件主题和样式的内容
  • 通过本篇文章的学习,相信大家对 uni-app-修改组件主题和样式有了一定的了解
  • 本篇文章的内容就介绍到这里,感谢大家的阅读,如果有什么不足的地方,欢迎大家指出,我会及时修改的,谢谢大家的支持

最后

大家好我是 BNTang, 一个热爱分享的技术的开发者,如果大家觉得我的文章对你有帮助的话,可以关注我的公众号 JavaBoyL,我会在公众号中分享一些IT技术和一些个人的见解,谢谢大家的支持。

我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Uniapp】-uni-app全局样式和局部样式
好,经过上个章节的介绍完毕之后,了解了一下 UniApp 的一个全局 页面配置文件,也就是我们的一个 pages.json 文件。
程序员NEO
2023/12/06
1.8K0
【Uniapp】-uni-app全局样式和局部样式
【UniApp】-uni-app-自定义组件
好了,知道了 UniApp 中有这么一个规范之后,我们来试一下,看是不是就可以如此简单的使用自定义组件了
程序员NEO
2023/12/21
4270
【UniApp】-uni-app-自定义组件
uni-app实战之社区交友APP(9)我的页面开发
本文主要介绍了我的(个人中心)页面开发,包括以下几方面: 个人中心和设置页面开发,包括页面配置、个人中心和设置页UI构建; 修改密码和邮箱页面开发,包括修改密码UI构建和表单验证、修改邮箱UI构建和表单验证; 编辑资料页面开发,包括页面UI构建、修改头像、昵称、性别、情感、职业、生日和城市功能实现; 帮助反馈和关于页面开发。
cutercorley
2021/02/22
2.7K1
uni-app实战之社区交友APP(9)我的页面开发
【UniApp】-uni-app-数据缓存
再给大家补充一个,getStorageInfo,这个 API 可以获取当前 storage 的相关信息,代码如下:
程序员NEO
2023/12/17
7960
【UniApp】-uni-app-数据缓存
【UniApp】-uni-app-OptionAPI应用生命周期和页面生命周期
然后在配置一下,微信小程序的 AppId,直接去之前的项目中拷贝一下即可,找到之前项目的 manifest.json 文件,然后选择微信小程序配置,复制一下即可。
程序员NEO
2023/12/11
4950
【UniApp】-uni-app-OptionAPI应用生命周期和页面生命周期
materialUi修改组件样式
这个时候就需要使用materialUi提供的withStyle来修改组件的内部样式了
biaoblog.cn 个人博客
2022/08/11
1.9K0
materialUi修改组件样式
【UniApp】-uni-app-扩展组件
然后在配置一下,微信小程序的 AppId,直接去之前的项目中拷贝一下即可,找到之前项目的 manifest.json 文件,然后选择微信小程序配置,复制一下即可:
程序员NEO
2023/12/09
6642
【UniApp】-uni-app-扩展组件
uni-app(优医咨询)项目实战 - 第1天
在本节要求大家掌握 uni-app 项目的创建、运行、以及 Android 真机环境配置,内容侧重于动手操作,需要理解的部分较少,操作过程中遇到错误后,可以从头重新进行操作,直到环境正常运行。
程序员朱永胜
2024/04/18
2390
uni-app(优医咨询)项目实战 - 第1天
【UniApp】-uni-app-路由
然后在配置一下,微信小程序的 AppId,直接去之前的项目中拷贝一下即可,找到之前项目的 manifest.json 文件,然后选择微信小程序配置,复制一下即可。
程序员NEO
2023/12/13
3880
【UniApp】-uni-app-路由
【小程序项目开发--京东商城】uni-app之自定义搜索组件(上)-- 组件UI
在滑动三级分类时,会发现显示的不完整,且此时搜索框是会可以被滑动,这是因为我们在scroll-view滑动组件中设置的高度是手机可用的高度,而此时搜索框组件占用了一部分高度,对应的,底部也会减少一部分高度,所以我们在设置其滑动组件高度时可以减去搜索框对应使用高度
计算机魔术师
2022/08/23
8320
【小程序项目开发--京东商城】uni-app之自定义搜索组件(上)-- 组件UI
uni-app实战之社区交友APP(7)消息页开发
本文主要介绍了消息也的开发,主要包括3部分: 消息列表页开发,包括页面配置、消息列表组件的开发和封装、下拉刷新功能和下拉弹出层组件的使用; 我的好友列表页开发,包括页面配置、导航组件开发、好友列表组件开发和封装、以及性别图标显示; 聊天页面开发,包括页面配置、输入框组件开发、聊天列表组件的开发和封装、以及聊天页功能完善。
cutercorley
2021/02/04
2.2K0
uni-app实战之社区交友APP(7)消息页开发
新版HBuilderX在uni_modules创建搜索search组件
打不着的大喇叭
2024/03/11
1720
新版HBuilderX在uni_modules创建搜索search组件
测试平台分支-小程序端-3-小程序登录(上)
一年没更新了,今天本地运行了下都快忘了写啥了。ε=(´ο`*)))唉现在的行情还是多学习吧。
怪盗LYL
2023/09/15
3390
测试平台分支-小程序端-3-小程序登录(上)
【UniApp】-uni-app-内置组件
然后在配置一下,微信小程序的 AppId,直接去之前的项目中拷贝一下即可,找到之前项目的 manifest.json 文件,然后选择微信小程序配置,复制一下即可:
程序员NEO
2023/12/08
7832
【UniApp】-uni-app-内置组件
【Uniapp】-uni-app项目结构
好了,经过上一章节文章的介绍,就搭建好了 Uniapp 的开发环境,知道了如何通过 HBuilderX 将 Uniapp 编写的代码运行到浏览器当中,运行到微信开发者工具当中,运行到安卓模拟器上面去,了解完之后,接下来再来给大家介绍了解一下 Uniapp 默认项目的一个结构, 目录表达含义。
程序员NEO
2023/12/03
6380
【Uniapp】-uni-app项目结构
uni-app(优医咨询)项目实战 - 第2天
uni-app 是组合了 Vue 和微信小程序的相关技术知识,要求大家同时俱备 Vue 和原生小程序的开发基础。
程序员朱永胜
2024/04/19
2510
uni-app(优医咨询)项目实战 - 第2天
uni-app(优医咨询)项目实战 - 第4天
此处的权限验证是指服务端接口验证码 token 是否存在或有效,这就需要我们在调用接口时将 token 以自定义头信息的方式发送给服务端接口,如果 token 不存在或者 token 过期了,则接口会返回状态码的值为 401。
程序员朱永胜
2024/04/25
3380
【UniApp】-uni-app-pinia存储数据
本文的由来呢,就是因为在 Vue2 中与 Vue3 中都可以使用 Vuex 来进行数据的存储, 但是在 Vue3 出现了 Pinia,所以我就想着在 uni-app 中使用 Pinia 来进行数据的存储。
程序员NEO
2023/12/19
4150
【UniApp】-uni-app-pinia存储数据
实践分享:怎样用好uni-app开发小程序?
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台。
极乐君
2020/11/19
2.9K0
实践分享:怎样用好uni-app开发小程序?
uni app 入门
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。
万少
2025/02/11
1610
uni app 入门
相关推荐
【Uniapp】-uni-app全局样式和局部样式
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档