浅谈css3中calc在less编译时被计算的解决办法


Posted in HTML / CSS onDecember 04, 2017

对于前端er来说,Less或Sass已经是一项必备的基本技能,有了这个利器,可以省下前端开发者的很多编码时间,让你写CSS如行云流水一般,然后最近我在Less里加入calc时确发现了有点问题,我在Less中这么写:

div {width : calc(100% - 30px);}

结果Less把这个当成运算式去执行了,结果给我解析成这样:

div {width: calc(70%);}

当时我就郁闷了,怎么会产生这样的现象呢?后来各种查,是由于less的计算方式跟calc方法有重叠,两者在一起有冲突,于是,我在Less中把calc的写法改写成下面这样:

div {width : calc(~"100% - 30px");}

OK,解析结果正常: 

div {width: calc(100% - 30px);}

然而,把30px替换为一个变量,怎么写呢?

div {

@diff : 30px;

width : calc(~"100% - " + @diff);

}

这么写Webstorm没有报错,但grunt-less报错了:

C:\Users\zhong\WebstormProjects\test>grunt less

Running "less:development" (less) task

>> ParseError: Unrecognised input in style.less on line 4, column 2:

>> 3    @diff : 30px;

>> 4    width : calc(~"100% - " + @diff);

>> 5 }

Warning: Error compiling style.less Use --force to continue.

Aborted due to warnings.

于是这么写:

div {

@diff : 30px;

width : calc(~"100% - " @diff);

}

顺利编译过去,但Webstorm却老是提示语法错误,虽然也能编译但看着文件有一个错误提示心里老

感觉不爽,找半天也没发现Webstorm如何调试语法提示错误设置

于是,改成如下写法:

div {

@diff : 30px;

width : calc(~"100% - @{diff}");

}

这种写法又能编译,Webstorm里又不报错,所以我比较喜欢用这种写法,如此,便不会再有任何问题了。

PS:在这里提供一个工具网站,https://3water.com/tools/cssyasuo.shtml,能提供各种CSS以及其他语言的格式化,往往less编译后的css文件的格式并不是我们所需要的,现在可以试一下前面我说的网址里面的净化 ,哈哈,谁用谁知道!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
利用CSS3实现毛玻璃效果示例源码
Sep 25 HTML / CSS
IE兼容css3圆角的实现代码
Jul 21 HTML / CSS
CSS3线性渐变简单实现以及该属性在浏览器中的不同
Dec 12 HTML / CSS
利用CSS3的3D效果制作正方体
Mar 10 HTML / CSS
CSS3实现线性渐变用法示例代码详解
Aug 07 HTML / CSS
使用html2canvas实现浏览器截图的示例代码
Jan 26 HTML / CSS
HTML5实时语音通话聊天MP3压缩传输3KB每秒
Aug 28 HTML / CSS
localStorage的过期时间设置的方法详解
Nov 26 HTML / CSS
html5中嵌入视频自动播放的问题解决
May 25 HTML / CSS
HTML5拖拽文件上传的示例代码
Mar 04 HTML / CSS
html5移动端禁止长按图片保存的实现
Apr 20 HTML / CSS
CSS3 实现NES游戏机的示例代码
Apr 21 HTML / CSS
浅谈css3新单位vw、vh、vmin、vmax的使用详解
Dec 01 #HTML / CSS
浅谈css3中的渐进增强和优雅降级
Dec 01 #HTML / CSS
CSS3 linear-gradient线性渐变生成加号和减号的方法
Nov 21 #HTML / CSS
详解CSS3 rem(设置字体大小) 教程
Nov 21 #HTML / CSS
纯css实现照片墙3D效果的示例代码
Nov 13 #HTML / CSS
用CSS3实现瀑布流布局的示例代码
Nov 10 #HTML / CSS
CSS3制作酷炫的条纹背景
Nov 09 #HTML / CSS
You might like
在数据量大(超过10万)的情况下
2007/01/15 PHP
ThinkPHP与PHPExcel冲突解决方法
2011/08/08 PHP
浅谈php和.net的区别
2014/09/28 PHP
PHP实现页面静态化的超简单方法
2016/09/06 PHP
php版微信公众账号第三方管理工具开发简明教程
2016/09/23 PHP
php实现的简单中文验证码功能示例
2017/01/03 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
2020/12/10 PHP
地址栏上的一段语句,改变页面的风格。(教程)
2008/04/02 Javascript
JQUERY 浏览器判断实现函数
2009/08/20 Javascript
jquery 全局AJAX事件使用代码
2010/11/05 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
JS表单传值和URL编码转换
2018/03/03 Javascript
vue实现2048小游戏功能思路详解
2018/05/09 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
解决vue项目运行npm run serve报错的问题
2020/10/26 Javascript
python中字符串前面加r的作用
2015/06/04 Python
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
python web框架中实现原生分页
2019/09/08 Python
Python DES加密实现原理及实例解析
2020/07/17 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
Python中Qslider控件实操详解
2021/02/20 Python
Asics日本官网:鬼冢八喜郎创立的跑鞋运动品牌
2017/10/18 全球购物
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
机电专业毕业生求职信
2013/10/27 职场文书
幼儿园教师培训方案
2014/02/04 职场文书
党员入党表决心的话
2014/03/11 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript
JAVA springCloud项目搭建流程
2022/05/11 Java/Android