浅谈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伪类选择器详细介绍
Dec 24 HTML / CSS
纯css3实现的鼠标悬停动画按钮
Dec 23 HTML / CSS
html5 touch事件实现触屏页面上下滑动(二)
Mar 10 HTML / CSS
W3C公布最新的HTML5标准草案
Oct 17 HTML / CSS
HTML5标签使用方法详解
Nov 27 HTML / CSS
浅谈HTML5中dialog元素尝鲜
Oct 15 HTML / CSS
使用Html5多媒体实现微信语音功能
Jul 26 HTML / CSS
HTML5 weui使用笔记
Nov 21 HTML / CSS
CSS的class与id常用的命名规则
May 18 HTML / CSS
CSS实现九宫格布局(自适应)的示例代码
Feb 12 HTML / CSS
CSS精灵图的原理与使用方法介绍
Mar 17 HTML / CSS
box-shadow单边阴影的实现
May 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
php数据库备份还原类分享
2014/03/20 PHP
PHP中构造函数和析构函数解析
2014/10/10 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
php上传文件问题汇总
2015/01/30 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
php 三大特点:封装,继承,多态
2017/02/19 PHP
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
JavaScript自执行函数和jQuery扩展方法详解
2017/10/27 jQuery
JavaScript常用工具方法封装
2019/02/12 Javascript
详解Vue.js 响应接口
2020/07/04 Javascript
[40:05]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[01:20:37]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python的Tornado框架实现图片上传及图片大小修改功能
2016/06/30 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
python 实现目录复制的三种小结
2019/12/04 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
html5使用canvas实现弹幕功能示例
2017/09/11 HTML / CSS
canvas如何绘制钟表的方法
2017/12/13 HTML / CSS
Java的for语句中break, continue和return的区别
2013/12/19 面试题
英文自荐信
2013/12/19 职场文书
倡议书格式模板
2014/05/13 职场文书
元旦晚会活动总结
2014/07/09 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
年会邀请函范文
2015/01/30 职场文书
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL
vue组件vue-esign实现电子签名
2022/04/21 Vue.js
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers