less解决function中return写法在浏览器被识别成Object导致样式失败的问题

问题描述:

一开始写的是:

复制代码
@baseFontSize: 37.5px;//基于屏幕尺寸/10得出的基准font-size

// return失败,浏览器显示为[object Object],[object Object]
.pxToRem(@px){
  @value: @px / @baseFontSize * 1rem;
  @return @value;
}

使用height: .pxToRem(40px);之后浏览器却是这样:

解决方案一、(不使用return,改成属性名称: 属性值的形式)

复制代码
@baseFontSize: 37.5px;//基于屏幕尺寸/10得出的基准font-size

.px2rem(@name, @px){
  @{name}: @px / @baseFontSize * 1rem;
}

使用.px2rem(height, 40px);就正常了:

解决方案二、(使用自定义函数)

复制代码
.remMixin() {
  @functions: ~`(function(){
    var rem = 37.5;
    this.pxToRem = function(size) {
      return (size / rem) + 'rem';
    }
  })()`;
}
.remMixin();

使用:

复制代码
height: ~`pxToRem(40)`;

我的less插件和less-loader版本为 :

复制代码
"less": "3.13.1",
"less-loader": "5.0.0",

代码仓库地址:

命运推手/my_web

相关推荐
weixin_427771611 小时前
css加载顺序导致本地和线上样式不一致
前端·css
漂流瓶jz8 小时前
Webpack如何实现万物皆可import?loader的使用/配置/手写实践
前端·javascript·webpack
ZC跨境爬虫8 小时前
跟着 MDN 学CSS day_41:显式轨道、隐式网格与区域命名放置
前端·javascript·css·ui·交互
修己xj9 小时前
告别手动存图!这款叫 Fatkun 的浏览器插件,简直是素材收集神器
前端
袋鼠云数栈10 小时前
从前端到基础设施,ACOS 如何打通企业全链路可观测
运维·前端·人工智能·数据治理·数据智能
AskHarries10 小时前
系统提示词、开发者指令和用户输入的优先级
java·前端·数据库
Moment10 小时前
长上下文会最终杀死 Rag 吗?
前端·javascript·后端
qcx2310 小时前
【系统学AI】25 论文导读 ①:两篇改变 AI 的开山之作——Attention Is All You Need & ReAct
前端·人工智能·react.js·transformer
kyriewen11 小时前
大文件上传最全指南:分片、断点续传、秒传,一篇就够了
前端·javascript·面试
郑洁文12 小时前
基于Python的Web命令执行漏洞自动化检测系统
前端·python·网络安全·自动化