浅谈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实现自定义滚动条代码分享
Aug 18 HTML / CSS
纯css3实现效果超级炫的checkbox复选框和radio单选框
Sep 01 HTML / CSS
基于css3 animate制作绚丽的动画效果
Nov 24 HTML / CSS
CSS3自定义滚动条样式的示例代码
Aug 21 HTML / CSS
CSS3 文字动画效果
Nov 12 HTML / CSS
canvas像素画板的实现代码
Nov 21 HTML / CSS
HTML5 新事件 小结
Jul 16 HTML / CSS
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
Jun 09 HTML / CSS
HTML5 canvas 瀑布流文字效果的示例代码
Jan 31 HTML / CSS
canvas学习总结三之绘制路径-线段
Jan 31 HTML / CSS
data:image data url 文件转为Blob上传后端的方法
Jul 16 HTML / CSS
纯 CSS 自定义多行省略的问题(从原理到实现)
Nov 11 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 date()日期时间函数详解
2010/05/16 PHP
php strrpos()与strripos()函数
2013/08/31 PHP
php生成缩略图填充白边(等比缩略图方案)
2013/12/25 PHP
PHP最常用的正则表达式
2017/02/13 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
2018/06/20 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
PHP连接MySQL数据库操作代码实例解析
2020/07/11 PHP
js用图作提交按钮或超连接
2008/03/26 Javascript
js判断ie版本号的简单实现代码
2014/03/05 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
2014/06/16 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
jquery.cookie.js的介绍与使用方法
2017/02/09 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
详解JS中的this、apply、call、bind(经典面试题)
2017/09/19 Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
2018/02/08 Javascript
vue实现2048小游戏功能思路详解
2018/05/09 Javascript
ztree加载完成后显示勾选节点的实现代码
2018/10/22 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
2020/06/04 Javascript
在Vue中获取自定义属性方法:data-id的实例
2020/09/09 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
举例讲解Python面相对象编程中对象的属性与类的方法
2016/01/19 Python
python读文件的步骤
2019/10/08 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
Django {{ MEDIA_URL }}无法显示图片的解决方式
2020/04/07 Python
python实现在内存中读写str和二进制数据代码
2020/04/24 Python
Python unittest单元测试openpyxl实现过程解析
2020/05/27 Python
让IE6、IE7、IE8支持CSS3的脚本
2010/07/20 HTML / CSS
汤米巴哈马官方网站:Tommy Bahama
2017/05/13 全球购物
英国最大的在线奢侈手表零售商:Jura Watches
2018/01/29 全球购物
工地资料员岗位职责
2013/12/31 职场文书
小学教师个人先进事迹材料
2014/05/17 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
python垃圾回收机制原理分析
2022/04/13 Python