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

相关推荐
zl0_00_07 分钟前
xss-lab
前端·网络·xss
爱上你家菜包14 分钟前
Electron一小时快速上手
前端·javascript·electron
陈琦鹏15 分钟前
Vue3+Vite开发Electron桌面端问题记录
前端·javascript·electron
狼性书生2 小时前
uniapp vue3实现的一款数字动画调节器件,支持长按、单点操作,提供丝滑的增减动画效果
前端·vue.js·微信小程序·小程序·uni-app
Jelena157795857922 小时前
爬虫获取微店商品快递费 item_feeAPI 接口的完整指南
开发语言·前端·爬虫
总是学不会.2 小时前
从“记住我”到 Web 认证:Cookie、JWT 和 Session 的故事
java·前端·后端·开发
xinran_Yi3 小时前
XSS-labs靶场通关
前端·xss
前端代码仔3 小时前
JS继承的几种实现方式
前端·javascript
巅峰赛2000分以下是巅峰3 小时前
buuctf.web 64-96
前端
伶俜Monster3 小时前
Threejs 光照教程,为 3D 场景注入灵魂
前端·3d·webgl·threejs