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

相关推荐
默_笙14 分钟前
🍉 我把《天龙八部》喂给了 AI,问它"段誉会什么武功?"答案让我惊呆了
前端·javascript
东风破_33 分钟前
React 自定义 Hook 实战:封装鼠标坐标与副作用清理
前端
bonechips34 分钟前
useRef + Web Worker:React 中的多线程计算
前端·javascript
Sterting36 分钟前
第 10 节:异步请求与 Axios —— 前端与后端
前端
Coder_Ke38 分钟前
源码没错,API 却“失踪”了:微信开发者工具的一次作用域背刺
前端
渣波43 分钟前
从“迷路”到“瞬移”:彻底搞懂 React Router 的 `useLocation` 与 `useNavigate`
前端·javascript
申君健248641827720243 分钟前
WebGPU 开发入门:从设备初始化到渲染一帧
前端
橘子星44 分钟前
React Context + 自定义 Hooks:告别 Props 地狱,一行代码跨层级传数据
前端·javascript
moMo44 分钟前
前端路由,其实就是三个对象在演戏
前端·react.js
用户2930750976691 小时前
React 自定义 Hooks 实战:用 useMouse 理解响应式封装
前端