Vue-less的使用和deep深度选择器详解

 更新时间:2023年10月21日 09:47:53   作者:小矮马  
这篇文章主要介绍了Vue-less的使用和deep深度选择器,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1、导入

(1)npm 下载

npm install less@3.9.0 less-loader@5.0.0 -s

(2)vue 引入

// main.js
import less from 'less'
Vue.use(less)

(3)使用

<style lang="less"></style>

2、变量

@width: 200px;
@height: @width + 100px;
@bgColor: yellow;
@bgImg: "../assets/logo.png";
 
.hello
    width: @width;
    height: @height;
    background-color: @bgColor;
}
 
// 字符串拼接变量使用方式
.pic {
    background-image: url("@{bgImg}");
}

3、嵌套

.hello{
    background-color: silver;
    .qt{
        width: 100px;
        height: 100px;
        background-color: @bgColor;
    }
 
    &:hover{
        background-color: skyblue;
    }
}

4、混合

// 定义一个函数
.hunhfun(@color:red,@size:14px) {
    background: @color;
    font-size: @size;
}
 
// 不传参,使用默认的
.box1 {
    .hunhfun();
}
// 给函数传参
.hunhfun{
    .hunhfun(@color:green,@size:30px);
}

5、deep深度选择器

在vue中,我们为了避免父组件的样式影响到子组件的样式,会在style中加<style scoped>,这样父组件中如果有跟子组件相同的class名称或者使用选择器的时候,就不会影响到子组件的样式。

但是这样存在着一个问题,比如你使用了别人的组件或者自己开发一个组件,有时候你修改一处就可能影响到别的地方,所以就需要有一个方法或者方式,既不影响到别的地方,又能修改子组件在当前的样式,可以使用 /deep/ 深度选择器。

<style scoped lang='less'>
    /deep/ .h-page-content {
        padding: 0;
    }
</style>
 
<style scoped lang='scss'>
    ::v-deep .h-page-content {
        padding: 0;
    }
</style>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 在vue中安装使用vux的教程详解

    在vue中安装使用vux的教程详解

    这篇文章主要介绍了在vue中安装使用vux的教程,本文给大家记录了vuex的安装使用过程,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2018-09-09
  • Element表格表头行高问题解决

    Element表格表头行高问题解决

    在最近一个项目的后台管理系统中,写前端界面时用到了ElementUI,但是发现导入数据表格之后表头的高度一直很高,那么如何解决,本文就来详细的介绍一下
    2021-09-09
  • vue input标签通用指令校验的实现

    vue input标签通用指令校验的实现

    这篇文章主要介绍了vue input标签通用指令校验的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 解决VUE双向绑定失效的问题

    解决VUE双向绑定失效的问题

    今天小编就为大家分享一篇解决VUE双向绑定失效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 基于Vue+echarts编写一个折线图

    基于Vue+echarts编写一个折线图

    这篇文章主要为大家详细介绍了如何利用Vue和Echarts实现绘制折线图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2023-05-05
  • Vue2之嵌套路由详解

    Vue2之嵌套路由详解

    本文介绍Vue嵌套路由的实现方式,通过动态URL路径嵌套组件展示,涉及修改路由配置及创建子组件Son1/Son2,结合ElementUI菜单组件应用
    2025-08-08
  • Vue $router.push打开新窗口的实现方法

    Vue $router.push打开新窗口的实现方法

    在Vue中,$router.push方法默认不支持在新窗口中打开页面,但通过结合window.open方法和$router.resolve方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • Vue3使用router,params传参为空问题

    Vue3使用router,params传参为空问题

    这篇文章主要介绍了Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • ant-design-vue的form表单全局禁用不生效问题及解决

    ant-design-vue的form表单全局禁用不生效问题及解决

    文章描述了在使用ant-design-vue开发表单时遇到的编辑与查看需求,由于官方没有提供全局disabled属性,作者通过自定义CSS类来实现表单项的禁用状态,文章还提到,从ant-design-vue 4.0开始,官方支持在a-form组件上直接设置disabled属性,从而简化了操作
    2026-03-03
  • Vue.js中extend选项和delimiters选项的比较

    Vue.js中extend选项和delimiters选项的比较

    这篇文章主要介绍了Vue.js中extend选项和delimiters选项的比较的相关资料,需要的朋友可以参考下
    2017-07-07

最新评论