首页 > 其他分享 >Vue项目,在less/scss中使用变量

Vue项目,在less/scss中使用变量

时间:2024-11-19 14:43:07浏览次数:1  
标签:scss el Vue less tabs height -- tab var

vue组件中,如何在less/scss中使用变量,以二次封装el-tab样式组件为例

<!--
* @description 封装el-tab样式
!-->
<template>
    <div class="tab-comp" :style="{ '--item-max-width': itemMaxWidth, '--tab-comp-height': height, '--tabs-label-height': tabsLabelHeight, '--tab-item-font-size': fontSize }">
        <slot></slot>
    </div>
</template>

<script>
export default {
    name: 'TabComp',
    props: {
        // tab-item的最大宽度, 自定义最大宽度,超出省略, 结合slot=label插槽加.tabs-label使用
        itemMaxWidth: {
            type: String,
            default: 'max-content'
        },
        // 高度
        height: {
            type: String,
            default: '40px'
        },
        // el-tab-pane的slot=label插槽,类名tabs-label高度, 未使用不传
        tabsLabelHeight: {
            type: String,
            default: '36px'
        },
        fontSize: {
            type: String,
            default: '14px'
        }
    },
    data() {
        return {}
    },
    created() {},
    methods: {}
}
</script>
<style lang="scss" scoped>
.tab-comp {
    width: 100%;
    height: var(--tab-comp-height);
    ::v-deep {
        .el-tabs {
            .el-tabs__header {
                margin-bottom: 0;
                .el-tabs__nav-prev,
                .el-tabs__nav-next {
                    line-height: var(--tab-comp-height);
                }
                .el-tabs__item {
                    max-width: var(--item-max-width); // 自定义最大宽度,超出省略
                    height: var(--tab-comp-height);
                    padding: 0 12px !important;
                    font-weight: 400;
                    font-size: var(--tab-item-font-size);
                    color: #333333;
                    line-height: var(--tab-comp-height);
                    box-sizing: border-box;
                    &.is-active {
                        font-weight: 500;
                        color: #db9130;
                    }
                    &:nth-child(2) {
                        padding-left: 0 !important;
                    }
                    .tabs-label {
                        width: 100%;
                        height: var(--tabs-label-height);
                        white-space: nowrap;
                        text-overflow: ellipsis;
                        overflow: hidden;
                    }
                }
            }
            .el-tabs__nav-wrap::after {
                height: 0;
            }
        }
    }
}
</style>

组件使用

<tab-comp item-max-width="122px">
    <el-tabs v-model="activeId">
        <el-tab-pane name="1">
            <div slot="label" class="tabs-label">结果集叽叽叽叽急急急急急急斤斤计较</div>
        </el-tab-pane>
    </el-tabs>
</tab-comp>

 

标签:scss,el,Vue,less,tabs,height,--,tab,var
From: https://www.cnblogs.com/hong1/p/18554821

相关文章

  • python+vue基于django/flask的连锁超市销售管理系统(超市库存与销售管理平台)java+nodej
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • python+vue基于django/flask的奖学金评定系统(奖学金申请与管理平台)java+nodejs+php-计
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • python+vue基于django/flask的同城篮球赛事场地预约系统java+nodejs+PHP-计算机毕业设
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • .NET +Vue 开发的高级报表工具
    前言本文介绍一款基于.NET6开发的高级报表工具。该工具支持多种数据源(如数据库、Excel文件、API服务等),并具备强大的数据处理和可视化功能。通过内置的集合函数和类Excel界面,用户可以轻松设计和生成复杂的报表,满足各类业务需求。项目介绍CellReport是一款专为复杂统计报......
  • 【web】Gin+Go-Micro +Vue+Nodejs+jQuery+ElmentUI 用户模块之登陆功能bug现场调试以
    调试Web应用中的用户登录功能需要一定的技巧和工具支持。在这份指南中,我们将利用Gin、Go-Micro、Vue、Node.js、jQuery和ElementUI,介绍如何调试用户登录功能及其效果演示,涵盖初级、中级和高级用法。初级用法介绍初级阶段以简化的HTML表单和jQuery实现用户登录,并使用Gin框......
  • 将打包后的 React或Vue 与 WebApi 部署在同一站点
    前后端分离的开发中,在部署项目时通常会分开进行部署,而这样又很麻烦,需要配置跨域,域名配置等等有一些情景下,我们需要采用更为方便的方式去部署,可以参考下方方法进行调整准备WebApi项目一个打包好的前端项目React或VUE都可以调整为WebApi项目新增wwwroot文件夹,用于放置前......
  • 【Doris 系列】actual column number in csv file is less than schema column number
    问题FlinkSQL写Doris表,报错actualcolumnnumberincsvfileislessthanschemacolumnnumber.现象FLINKSQL定义的Schema明明有m列,结果写入的时候报错实际的列有m+1列。CREATETABLEDORIS_SINK(IDSTRING,NAMESTRING,BANKSTRING,AGEINT)wi......
  • 【Vue 表单类组件封装与 v-model 简化代码】
    文章目录什么是Vue表单类组件?封装Vue表单类组件步骤1:创建一个表单组件步骤2:使用`v-model`简化数据绑定步骤3:将表单组件封装步骤4:在父组件中使用表单组件什么是Vue表单类组件?Vue表单类组件是一种将表单元素(如输入框、复选框、单选框等)封装成可复用的组件的......
  • 【vue】项目迭代部署后 自动清除浏览器缓存
    前言:vue项目打包部署上线后,因浏览器缓存问题,导致用户访问的依旧是上个迭代批次的旧资源,需要用户手动清除缓存才能更新至最新版本,影响用户体验。解决方法:html根文件添加以下标签<metahttp-equiv="pragma"content="no-cache"><metahttp-equiv="cache-control"con......
  • 【开题报告】基于Springboot+vue乡村信息化管理系统(程序+源码+论文) 计算机毕业设计
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的迅猛发展,信息化已成为推动社会进步和经济发展的重要力量。在乡村地区,传统的管理方式逐渐暴露出效率低下、信息不透明等问题,严重制约了......