less之mixins:一次编写到处运行+减少冗余代码

less有许多实用的内置方法,使用起来也十分方便,mixins也是其中之一。

在某些写入十分麻烦,并且重复量很大的工作面前,最好使用mixins来代替手写。比如:阴影、文本单行省略、多行省略、滚动条自定义等等。

以下是滚动条自定义的mixins实现(可以直接粘贴复制使用,不像要传参删掉即可):

声明:

/*括号内是接受参数,如果不需要动态指定,可以不添加变量,直接使用固定值*/
.scroll-bar-style(@thumbColor:var(--ms-scroll-thumb-color);@trackColor:var(--ms-scroll-track-color);@thumbShadow:inset 0 0 5px #9b9ba3;@trackShadow:inset 0 0 5px #00000033;) {
  &::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }
  &::-webkit-scrollbar-thumb {
    border-radius: 10px;
    box-shadow: @thumbShadow;
    background: @thumbColor;
  }
  &::-webkit-scrollbar-track {
    /* 滚动条里面轨道 */
    box-shadow: @trackShadow;
    border-radius: 10px;
    background: @trackColor;
  }
}

调用:

/*传参*/
.scroll-bar-style(rgba(255, 255, 255, 0.16),rgba(255, 255, 255, 0),none,none);
/*不传参,使用默认参数*/
.scroll-bar-style();

注意:

添加括号是接收传参的变量形式,并非mixins的固定写法。你完全可以把任意css作为mixins使用,如:

.my-mixin {
  color: black;
}
.my-other-mixin() {
  background: white;
}
.class {
  .my-mixin();
  .my-other-mixin();
}

        如果只是单less文件中使用mixins,便捷程度只能算一般。但是如果搭配全局less,便捷程度直接拉满——你将可以在任意页面、任意组件、任意角落随意使用定义过的任意mixins

        全局less最简单的方式是定义好less文件后引入到main.ts(react是main.tsx)中,如果想使用规范点的方法,可以看我另一篇文章vite配置全局less/scss/sass_vite5 less-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值