微信小程序引入Vant Weapp修改样式不起作用,使用外部样式类进行覆盖

一、引入Vant Weapp后样式问题

在项目中使用第三方组件修改css样式时,总是出现各种各样问题,修改的css样式不起作用,没有效果,效果不符合预期等。

  • 栗子(引入一个搜索框组件)
  • 实现效果: 左侧有一个搜索文字背景为蓝色,接着跟一个搜索框

wxml

java 复制代码
<view class="container">
  <view class="search">
    <view slot="action" bind:tap="onSearch" class="title">搜索</view>
    <van-search value="{{ value }}" placeholder="请输入搜索关键词" use-action-slot="true" bind:search="onSearch" class="input">
    </van-search>
  </view>
</view>

wxss

java 复制代码
.container {
  width: 750rpx;
  height: 150rpx;
  background-color: bisque;
  display: flex;
  align-items: center;
}

.search {
  width: 680rpx;
  height: 64rpx;
  background: #03C5B0;
  border-radius: 68rpx 68rpx 68rpx 68rpx;
  display: flex;
  flex-direction: row;
  margin-top: 24rpx;
  margin-left: 32rpx;
}

.title {
  width: 80rpx;
  height: 64rpx;
  font-size: 28rpx;
  font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
  font-weight: 500;
  color: #FFFFFF;
  line-height: 33rpx;
  display: flex;
  align-items: center;
  justify-content: center;
}

.input {
  width: 600rpx;
  height: 64rpx;
}

emmm...明明我们css都写了,这出现的是什么鬼

审查一下页面布局看看,这个我也没看懂,应该是组件自带的样式跟我们写的冲突了.(只是猜测)

二、样式覆盖

2.1 使用外部样式类

那么我们要怎样覆盖掉原有的样式呢?

官方也有说明:

外部样式类的相关知识背景请查阅微信小程序文档

Vant Weapp 开放了大量的外部样式类供开发者使用,具体的样式类名称可查阅对应组件的"外部样式类"部分。

需要注意的是普通样式类和外部样式类的优先级是未定义的,因此使用时请添加**!important**以保证外部样式类的优先级。

2.2 实现

wxml

java 复制代码
<view class="container">
  <view class="searchCopy">
    <view slot="action" bind:tap="onSearch" class="titleCopy">搜索</view>
    <van-search value="{{ value }}" placeholder="请输入搜索关键词" use-action-slot="true" bind:search="onSearch" custom-class="inputCopy">
    </van-search>
  </view>
</view>

wxss

java 复制代码
/* 样式覆盖 */
.container {
  width: 750rpx;
  height: 150rpx;
  background-color: bisque;
  display: flex;
  align-items: center;
}

.searchCopy {
  width: 680rpx;
  height: 64rpx;
  background: #03C5B0;
  border-radius: 68rpx 68rpx 68rpx 68rpx;
  display: flex;
  flex-direction: row;
  margin-top: 24rpx;
  margin-left: 32rpx;
}

.titleCopy {
  width: 80rpx;
  height: 64rpx;
  font-size: 28rpx;
  font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
  font-weight: 500;
  color: #FFFFFF;
  line-height: 33rpx;
  display: flex;
  align-items: center;
  justify-content: center;
}

.inputCopy {
  width: 600rpx !important;
  height: 64rpx !important;
}

两种方式实现对比,效果立竿见影,看起来顺眼多了

:定义外部样式类css后一定要写**!important**

2.3 查看外部样式类

每个组件最下方都表明了可覆盖的外部样式类

相关推荐
河南花仙子科技13 小时前
企业定制小游戏助力品牌软性传播
大数据·科技·游戏·小程序
StevenLdh14 小时前
情绪小恐龙:一个微信小程序从架构设计到部署上线的全记录
微信小程序·小程序·notepad++
m0_5873830014 小时前
折扣卡CPS软件开发实战:从系统架构设计到上线指南
java·小程序·架构·需求分析
mykj155114 小时前
赛事报名小程序系统:一站式解决赛事管理难题
小程序·app开发·体育赛事报名小程序·赛事app
EatFan16 小时前
Java接入微信支付保姆式教程(一):支付流程、商户号与环境准备
小程序·微信支付·jsapi支付
00后程序员张20 小时前
怎么用 Egret(白鹭引擎)打包 iOS 应用并上架 App Store?
android·ios·小程序·https·uni-app·iphone·webview
Bs_MoneyMagnet21 小时前
基于springboot+vue的旅游行程分享与推荐小程序的设计与实现 源码+文档
java·vue.js·spring boot·后端·微信小程序·毕业设计·计算机毕业设计
西木风落21 小时前
业余发展——零后端微信小程序口算练习实战
微信小程序·vibe coding·口算小达人
xujuzheng1 天前
2026深圳小程序/App/AI智能体开发公司选型指南(附本地服务商盘点)
数据库·科技·微信小程序·小程序·uni-app
盟道科技1 天前
消息队列消费端幂等性实战:订单场景下重复消息不重复扣款的完整方案
小程序