vue项目中less的一些使用小技巧

作者:code_fly 时间:2023-07-02 16:51:33 

目录
  • 前言

  • 一、样式穿透

    • 1.  什么是样式穿透?

    • 2.  如何使用?

  • 二、混入

    • 1.  什么是混入?

    • 2.  如何使用?

  • 三、 less自动化导入

    • 1. 自动化导入好处

    • 2.  如何实现?

  • 总结

    前言

    我们所能看到的美观的网页都是经过UI精心设计后,由前端攻城狮搭建的。网页想要有炫酷的样式,就需要用到css来处理,其中不乏会出现大量重复、冗余的代码,这时,像less、sass、scss等样式预处理器就出现了,极大地精简了css代码,提高了开发效率。今天跟着本文一起看看在vue项目中使用less语法如何穿透效果和混入吧~

    一、样式穿透

    vue项目中的结构是由template、script、style三部分构成。style中的lang属性决定了样式中的语法,设置了scoped属性就可以避免当前页面的样式污染到其他页面。

    1.  什么是样式穿透?

    自己设置的样式覆盖原有的样式

    2.  如何使用?

    当我们使用一个封装好的公共组件的时候,我们对组件提供的原有样式不满意,想要调整一下样式。我们不能修改公共组件中的样式,这时候就需要用到样式穿透来帮助我们解决这个问题了。

    vue2中写法

    代码如下(示例):


    <style lang="less" scoped>
    /deep/ a {
               text-decoration: none;
    }
    </style>

    <style lang="less" scoped>
    ::v-deep a {
               text-decoration: none;
    }
    </style>

    vue3中写法


    <style lang="less" scoped>
    :deep(a) {
               text-decoration: none;
    }
    </style>

    二、混入

    1.  什么是混入?

    类似于js中的函数,将样式中重复的代码抽离出来,使用的时候可以多次引入。

    2.  如何使用?

    定义

    代码如下(示例):


    <style lang="less" scoped>
       .abc() {
           color: skyblue
           }
    </style>

    使用


    <style lang="less" scoped>
       p {
           font-size: 20px;
           .abc();
         }
    </style>

    三、 less自动化导入

    1. 自动化导入好处

    可以将经常出现的样式文件抽离出来,放到一个less文件中。

    然后在需要用到的地方直接使用即可,不用手动引入文件

    2.  如何实现?

    • 使用vue-cli的style-resoures-loader插件来完成自动注入到每个vue组件中style标签中

    项目根目录下终端中运行vue add style-resources-loader,添加一个vue-cli插件

    注:终端窗口中会弹出询问,写入y之后选择less即可

    • 安装完毕后会自动生成vue.config.js文件,在配置中把需要自动导入的less文件地址加上就可以了

    代码如下(示例):


    const path = require('path')

    module.exports = {
     pluginOptions: {
       'style-resources-loader': {
         preProcessor: 'less',
         patterns: [
           // 配置哪些文件需要自动导入
           path.join(__dirname, './src/xx/xx.less')
         ]
       }
     }
    }

    来源:https://juejin.cn/post/7007771919885811720

    标签:vue,less,技巧
    0
    投稿

    猜你喜欢

  • Python如何利用pandas读取csv数据并绘图

    2022-08-26 22:05:25
  • Python输入整数进行排序方式

    2023-05-14 11:03:15
  • Python接口测试环境搭建过程详解

    2021-08-31 16:12:52
  • Python高效编程技巧

    2023-08-19 17:29:56
  • Python语言实现将图片转化为html页面

    2023-09-24 01:21:02
  • asp如何获知并显示文件的大小?

    2009-11-23 20:59:00
  • 发一个自己用的JS框架(试用版^_^)

    2011-09-11 18:53:24
  • python字符串查找函数的用法详解

    2022-12-09 11:32:47
  • Golang 实现Socket服务端和客户端使用TCP协议通讯

    2023-07-21 10:09:38
  • MySQL产生死锁原因分析讲解

    2024-01-25 10:39:19
  • Python实现轻松切割MP3文件

    2023-09-23 21:40:32
  • sql查询语句之平均分、最高最低分及排序语句

    2024-01-19 06:43:34
  • python中defaultdict方法的使用详解

    2022-06-25 05:07:09
  • 用Python爬取英雄联盟的皮肤详细示例

    2023-05-07 22:41:19
  • mysql中找不到my.ini文件的问题及解决

    2024-01-17 13:56:18
  • python实现在sqlite动态创建表的方法

    2021-08-05 13:54:10
  • Python 剪绳子的多种思路实现(动态规划和贪心)

    2021-07-03 18:43:41
  • 高性能表现的网站(译)

    2008-08-31 20:26:00
  • WebStorm 遇到的问题总结

    2023-08-31 23:30:00
  • select 终极美化

    2007-10-16 17:57:00
  • asp之家 网络编程 m.aspxhome.com