解决vant-UI库修改样式无效的问题

解决vant-UI库修改样式无效的问题,需要先了解vant-UI库的样式覆盖机制。vant-UI库的样式使用了CSS Modules技术,每个组件的样式都被编译后生成对应的唯一类名,以避免样式冲突。在修改vant-UI库的样式时,无法直接修改组件已有的样式,需要使用深度选择器进行样式覆盖。

攻略:

  1. 安装 postcss-pxtorem 插件

postcss-pxtorem 插件可以将 px 单位自动转换为 rem 单位,方便在移动端开发时进行适配。

npm install postcss-pxtorem --save-dev 
  1. 修改项目根目录下的 postcss.config.js 文件

在文件中添加 postcss-pxtorem 插件的配置

module.exports = {
  "plugins": {
    "postcss-pxtorem": {
      "rootValue": 37.5,
      "propList": ["*"]
    }
  }
}
  1. 修改 webpack 配置

在项目根目录下的 vue.config.js 文件中,添加 configureWebpack 配置如下:

module.exports = {
  configureWebpack: {
    module: {
      rules: [
        {
          test: /\.less$/,
          use: [
            {
              loader: 'sass-loader',
              options: {
                implementation: require('sass')
              }
            },
            {
              loader: 'less-loader',
              options: {
                lessOptions: {
                  modifyVars: {
                    // 在此处修改vant组件库样式
                    // 例如修改按钮颜色为红色:
                    'button-primary-background-color': 'red'
                  }
                }
              }
            }
          ]
        }
      ]
    }
  }
}

示例1:修改 vant-button 样式

  1. 安装 vant UI 库
npm i vant -S
  1. 修改 webpack 配置

在 vue.config.js 中添加以下配置:

module.exports = {
  configureWebpack: (config) => {
    config.module.rules.forEach((rule) => {
      if (
        String(rule.test) ===
        String(
          /\\.module\\.(css|scss|sass|less)$/i
        )
      ) {
        rule.oneOf[0].use.push({
          loader: "style-resources-loader",
          options: {
            patterns: [
              // vant 样式
              path.resolve(
                __dirname,
                "./src/assets/style/vant.less"
              ),
            ],
          },
        });
        return;
      }
    });
  },
};

其中,添加了 style-resources-loader 模块,用于打包 vant 样式。

  1. 在项目中使用 vant-button 组件

在 .vue 文件中添加以下代码:

<template>
  <van-button class="my-button">自定义样式按钮</van-button>
</template>

<style lang="scss" scoped>
.my-button {
  color: #f00; // 改变按钮文字颜色
  background-color: #ff0; // 改变按钮背景色
}
</style>
  1. 重新编译并查看效果

示例2:修改 vant-cell 样式

  1. 修改 webpack 配置

同示例1,在 vue.config.js 中添加 style-resources-loader 模块,用于打包 vant 样式。

  1. 修改 vant-cell 样式

在 .vue 文件的 style 标签中添加以下代码:

<style lang="less" scoped>
::v-deep .van-cell__title {
  color: green;
}
</style>

其中,::v-deep 是深度选择器,用于覆盖 vant-cell 组件中的标题样式。

  1. 重新编译并查看效果

以上两个示例均为使用深度选择器修改 vant UI 库组件样式的方法。当然,你也可以通过修改 less 变量的方法来改变整体风格,方法为将需要修改的变量值覆盖即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决vant-UI库修改样式无效的问题 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • JS实现的N多简单无缝滚动代码(包含图文效果)

    下面我为你详细讲解如何实现JS的无缝滚动代码。 一、准备工作 在开始之前,我们需要准备以下材料: 一份文本编辑器,比如Sublime Text、VSCode等等; 用于展示滚动效果的HTML页面; JS代码文件。 二、步骤分解 下面我们将这个过程分解成几个步骤: 1.创建HTML页面 首先,我们需要创建一个HTML页面,用于展示我们的滚动效果。我们可以在页面…

    css 2023年6月10日
    00
  • 使用CSS3制作响应式导航菜单的方法

    使用CSS3制作响应式导航菜单是开发响应式网站的重要一步。下面是完整攻略,包含了基本概念、实现方法和示例。 基本概念 什么是响应式导航菜单? 响应式导航菜单是在不同设备下,例如手机、平板电脑和台式电脑等,自动调整形态和布局的导航菜单。 为什么要使用CSS3制作响应式导航菜单? 因为CSS3有许多强大的特性,其中可以使用媒体查询(Media Query)对不同…

    css 2023年6月10日
    00
  • 3dmax怎么建模眼镜盒模型? 3dmax盒子建模过程

    3Dmax的盒子建模是建立在基本几何体的基础上的,可以将基本几何体进行合并、剖分或调整大小等处理,制作出带有较复杂模型的3D物体。下面就针对眼镜盒模型的建模过程进行详细的讲解和示例说明。 步骤一:建立盒子 首先打开3Dmax软件,并选择“立方体”工具。在视图界面上单击鼠标右键,然后拖拽鼠标,可以添加自定义的盒子大小。 示例图: |————–…

    css 2023年6月11日
    00
  • html body标签详解与html常用的控制标记

    HTML是网页制作中最基础也是最重要的技能之一,而body标签则是HTML中最重要的标签之一。body标签是放置页面中所有可见内容的主体部分,是所有其他标记的容器,其中包括文本,图像,视频,音频等。 HTML body标签详解 body标签是一个容器元素,用于包含网页的可见内容,如文本、图片、视频、表单等。 下面是一个常见的body标签示例: <!DO…

    css 2023年6月9日
    00
  • HTML5 Canvas绘制图形从入门到精通

    HTML5 Canvas绘制图形从入门到精通 HTML5 Canvas是一种强大的绘图技术,可以在网页上创建各种各样的图形和动画。本攻略将从入门开始,逐步学习如何使用Canvas绘制常见的图形和实现动画效果。 简介 HTML5 Canvas是基于JavaScript的2D绘图API,可以在网页上直接绘制图形,比如线条、矩形、圆等。相比之前的绘图技术,如基于F…

    css 2023年6月10日
    00
  • 简要了解jQuery移动web开发的响应式布局设计

    简要了解jQuery移动web开发的响应式布局设计 响应式布局是指网页设计可以根据不同设备和分辨率进行自动调整,以在所有设备上呈现最佳效果。本文将介绍使用jQuery实现响应式布局设计的完整攻略。 第一步:准备工作 在编写代码之前,需要做一些准备工作。首先,需要将页面布局分为不同的区域,例如头部、内容和侧栏。其次,需要针对不同的设备和分辨率编写CSS样式。最…

    css 2023年6月10日
    00
  • python3解析库BeautifulSoup4的安装配置与基本用法

    Python3解析库BeautifulSoup4的安装配置与基本用法 什么是BeautifulSoup4 BeautifulSoup4 是一个 HTML 或 XML 的解析库,可以将复杂的 HTML 或 XML 文档转换成一个树形结构,提供简单的、Python 风格的 API 来遍历文档。它可以解析 HTML 和 XML 标记文档,支持 HTML5 标准,同…

    css 2023年6月10日
    00
  • WordPress中自定义后台管理界面配色方案的小技巧

    下面是WordPress中自定义后台管理界面配色方案的完整攻略,包括以下内容: 确定需要修改的样式 首先,我们需要确定需要修改的样式,才能针对性地进行修改。在WordPress后台管理界面中,有许多不同的元素,如导航菜单、顶部工具栏、文章列表、插件列表等等。我们需要根据实际需求,选择需要修改的元素。 创建一个新的配色方案 在WordPress中,我们可以通过…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部