浅谈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的RGBA中关于整数和百分比值的转换
Aug 04 HTML / CSS
详解CSS3阴影 box-shadow的使用和技巧总结
Dec 03 HTML / CSS
CSS3的颜色渐变效果的示例代码
Sep 29 HTML / CSS
5分钟弄清楚html5的drag and drop(小结)
Apr 10 HTML / CSS
html5 学习简单的拾色器
Sep 03 HTML / CSS
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
Jan 09 HTML / CSS
HTML5 创建canvas元素示例代码
Jun 04 HTML / CSS
让IE下支持Html5的placeholder属性的插件
Sep 02 HTML / CSS
HTML5 canvas基本绘图之绘制五角星
Jun 27 HTML / CSS
解决html5中video标签无法播放mp4问题的办法
May 07 HTML / CSS
基于Html5实现的语音搜索功能
May 13 HTML / CSS
通过feDisplacementMap和feImage实现水波特效
Apr 24 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内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
php fsockopen解决办法 php实现多线程
2014/01/20 PHP
PHP is_subclass_of函数的一个BUG和解决方法
2014/06/01 PHP
php实现的click captcha点击验证码类实例
2014/09/23 PHP
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
编写高性能的JavaScript 脚本的加载与执行
2010/04/19 Javascript
改进版通过Json对象实现深复制的方法
2012/10/24 Javascript
JavaScript变量声明详解
2014/11/27 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
2016/06/09 Javascript
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
详解微信小程序Page中data数据操作和函数调用
2017/09/27 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
vue实现分页组件
2020/06/16 Javascript
微信 jssdk 签名错误invalid signature的解决方法
2019/01/14 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
2019/11/12 Javascript
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
2020/05/26 Javascript
python实现去除下载电影和电视剧文件名中的多余字符的方法
2014/09/23 Python
详解Python中time()方法的使用的教程
2015/05/22 Python
Tensorflow简单验证码识别应用
2017/05/25 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
Python如何读取文件中图片格式
2020/01/13 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
英国绿色商店:Natural Collection
2019/05/03 全球购物
EMU Australia澳大利亚官网:澳大利亚本土雪地靴品牌
2019/07/24 全球购物
美国传奇滑手Paul Rodriguez创办的街头滑板品牌:Primitive Skateboarding
2019/10/29 全球购物
双立人美国官方商店:ZWILLING集团餐具和炊具
2020/05/07 全球购物
入学生会自荐书范文
2014/02/05 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
龙猫观后感
2015/06/09 职场文书
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript
CSS中calc(100%-100px)不加空格不生效
2023/05/07 HTML / CSS