浅谈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 相关文章推荐
html5中去掉input type date默认样式的方法
Sep 06 HTML / CSS
利用html5 file api读取本地文件示例(如图片、PDF等)
Mar 07 HTML / CSS
HTML5教程之html 5 本地数据库(Web Sql Database)
Apr 03 HTML / CSS
html5弹跳球示例代码
Jul 23 HTML / CSS
HTML5图片预览实例分享
Jun 04 HTML / CSS
HTML5 canvas标签实现刮刮卡效果
Apr 24 HTML / CSS
详解HTML5中div和section以及article的区别
Jul 14 HTML / CSS
html5 figure和figcaption的使用方法
Sep 10 HTML / CSS
AmazeUI 折叠面板的实现代码
Aug 17 HTML / CSS
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
Jan 20 HTML / CSS
CSS预处理框架——Stylus
Apr 21 HTML / CSS
HTML5来实现本地文件读取和写入的实现方法
May 25 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
Win下如何安装PHP的APC拓展
2013/08/07 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
PHP中iconv函数知识汇总
2015/07/02 PHP
thinkPHP微信分享接口JSSDK用法实例
2017/07/07 PHP
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
jquery 插件实现多行文本框[textarea]自动高度
2015/03/04 Javascript
JavaScript获得url查询参数的方法
2015/07/02 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
微信小程序 获取javascript 里的数据
2017/08/17 Javascript
vue中component组件的props使用详解
2017/09/04 Javascript
bootstrap时间插件daterangepicker使用详解
2017/10/19 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
vue图片加载失败时用默认图片替换的方法
2019/08/29 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
2020/11/06 Javascript
python计算N天之后日期的方法
2015/03/31 Python
python版本的读写锁操作方法
2016/04/25 Python
python+requests+unittest API接口测试实例(详解)
2017/06/10 Python
对python制作自己的数据集实例讲解
2018/12/12 Python
Python中logging实例讲解
2019/01/17 Python
如何为Python终端提供持久性历史记录
2019/09/03 Python
python tkinter组件使用详解
2019/09/16 Python
基于Python实现大文件分割和命名脚本过程解析
2019/09/29 Python
Python各种扩展名区别点整理
2020/02/27 Python
Python结合Window计划任务监测邮件的示例代码
2020/08/05 Python
linux面试题参考答案(4)
2014/09/21 面试题
党员公开承诺书内容
2014/05/20 职场文书
2014年销售部工作总结
2014/12/01 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
大学同学聚会感言
2015/07/30 职场文书
结婚十年感言
2015/07/31 职场文书
安全教育主题班会教案
2015/08/12 职场文书
关于艺术节的开幕致辞
2016/03/04 职场文书
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python
解决springboot druid数据库连接失败后一直重连的方法
2022/04/19 Java/Android