`

在Less中使用calc完成不同单位的宽度计算

阅读更多

    在CSS中,calc的使用很简单,直接做加减法就行了(即使单位不同): 

div > span {
  width: calc(100% - 10px);
}
 

    然而在Less中,这样写是不可行或者说达不到预期的效果的,需要转义calc的参数,具体语法如下:

div {
    > span {
        width:calc(~'100% - 10px');
    }
}

 

    并且还可以在calc函数中使用参数,以下是比较复杂的一种:

 

@btnWidth: 40px;
div {
    > span {
        @pad: 10px;
        width:calc(~'(100% - @{pad})' - (@btnWidth * 2));
    }
}
    以上代码编译为CSS后如下:

 

div > span {
  width: calc((100% - 10px) - 80px);
}

  

参考文章:

计算从LESS CSS中的百分比到像素减去像素的宽度(Calculating width from percent to pixel then minus by pixel in LESS CSS)

分享到:
评论

相关推荐

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

    在实际项目中使用Less预处理器和calc() 函数时,你需要注意Less对字符串插值支持的版本,不同版本的Less可能在语法上有细微差别,确保使用最新稳定版本的Less可以避免一些旧版本的兼容性问题。同时,也要关注IDE或者...

    CSS的计算大师:calc()函数全解析

    在这个示例中,我们使用了`calc()`函数来动态计算每个网格项的基础宽度。这里,假设容器有3个子元素,每个子元素的宽度为容器宽度的三分之一减去20px的间隙。 #### 十、总结 CSS 的`calc()`函数是一个功能强大的...

    CSS使用calc()获取当前可视屏幕高度的实现

    3. **ch**:ch单位基于数字"0"的宽度,这通常比em更稳定,因为数字的宽度在不同字体中变化较小。 4. **rem**:root em,相对于根元素(即html元素)的字体大小。这意味着即使子元素没有指定字体大小,它们也可以...

    Less 安装及基本用法

    5. **calc() 函数**:Less 允许我们在 CSS 中使用 `calc()` 函数进行动态计算,如 `width:calc(50% + (@var - 20px));`。 6. **固定函数**:Less 提供了一些内置函数,如 `percentage()`、`saturate()` 和 `spin()`...

    css经常使用的技巧

    11. ** calc() 函数**:`calc()`函数可以动态计算长度,例如`width: calc(100% - 20px)`,用于减去边距或内填充。 12. **CSS变量**:使用CSS自定义属性(变量),如`--primary-color`,实现样式复用和主题切换。 ...

    CSS经典技巧十则

    6. **使用CSS calc() 函数**:动态计算值,如宽度、高度等,使布局更具灵活性,如`width: calc(100% - 20px)`。 7. **选择器性能优化**:避免使用通配符选择器(*)和后代选择器(selector1 selector2),它们计算...

    css secret demo

    6. **CSS calc()函数**:这个函数允许在计算值时进行动态计算,例如计算元素宽度为父元素宽度减去一定像素值。 7. **CSS单位的秘密**:除了常规的像素单位,还有相对单位如em、rem、vh、vw、%等,它们根据上下文...

    CSS技巧与工具(EditPlus语法文件下载)

    标题中的“CSS技巧与工具”指的是在Web开发中使用CSS(Cascading Style Sheets)进行样式设计和布局优化的一些高级方法和技术。CSS是用于描述HTML或XML(包括SVG、MathML等各种XML方言)文档外观和格式的语言。它...

    emmet-sublime-master

    5. **计算属性值**:Emmet允许你在CSS中进行简单的数学运算,例如`width: calc(100% - 20px);`可以快速计算出宽度。 6. **选择器提升**:在HTML文档中,Emmet可以通过上下文感知选择合适的CSS选择器。例如,当你在`...

    样式表代码

    在"015"这个文件中,可能包含了不同类型的样式表代码示例或者项目,如基础的CSS选择器、属性、值的使用,也可能涉及更高级的主题,如CSS布局(Flexbox或Grid)、响应式设计、CSS动画、过渡和变换,或者是CSS预处理器...

    详解vue-cli中使用rem,vue自适应

    本文将详细介绍如何在`Vue-cli`项目中使用`rem`单位和实现Vue的自适应布局。 首先,我们需要理解`rem`(root em)单位。`rem`是相对于根元素(通常是`html`元素)的字体大小的单位,这使得我们可以统一调整整个页面...

    11个CSS的必会技巧共5页.pdf.zip

    7. **CSS calc()函数**:允许在CSS中进行动态计算,如计算元素的宽度、高度等,常用于响应式设计。 8. **CSS变量**:使用`var()`定义自定义属性,方便在整个样式表中重用颜色、尺寸等值。 9. **BEM命名法**:Block...

    前端大厂最新面试题-css.docx

    34. 在CSS中使用哪3个内容属性能够在元素前面自动插入递增的序号,包括counter-increment、counter-reset、content等。 35. CSS中的特殊性是指选择器的权重,越高的选择器具有越高的特殊性。 36. !important的作用...

    CSS完全使用详解

    1. **变量与计算**: CSS变量(`var()`)允许在样式中复用值,CSS calc()可用于动态计算长度、频率等值。 2. **选择器层级与作用域**: Shadow DOM引入了新的作用域,避免样式冲突,提高组件化开发的可维护性。 3. *...

    网页制作之CSS用法布局详解

    `可实现动态的宽度计算。 5. **BEM命名法**:Block Element Modifier是一种流行的CSS命名约定,有助于组织CSS代码,减少样式冲突。 了解并熟练掌握这些CSS知识点,将有助于你构建美观且适应性强的网页。实践中不断...

    CSS-技巧记录CSS-技巧记录

    11. **CSS calc()**:这个函数允许在CSS中进行计算,如`width: calc(100% - 20px)`,可用于动态计算元素宽度。 12. **盒模型**:理解盒模型包括内容、内边距(padding)、边框(border)和外边距(margin),以及...

    纯CSS3实现的鼠标滑过时显示3D动画柱形图特效源码.zip

    同时,利用CSS3的`calc()`函数,可以根据数据动态计算每个柱子的大小,从而实现数据驱动的可视化。 最后,为了提高可维护性和代码组织性,CSS3源码可能采用了模块化或预处理器(如Sass或Less)。这些工具可以帮助...

    在实际开发中,使用Less预处理器可以提高代码的可维护性和一致性,特别是在大型项目中,能够大大减少重复工作,提升团队效率。如果你正在处理"bugball-main"这样的文件,可能需要了解其内部结构,理解变量和混合的...

    一个很优秀的css控制页面

    8. ** calc() 函数**:允许在CSS中进行简单的计算,例如动态设置宽度、高度或位置。 9. **Flexbox和Grid的结合**:在某些复杂布局中,将两者结合起来使用可以达到最佳效果。 10. **CSS Grid Layout**:提供二维...

    非常好的CSS帮助文档,让你更好的学习

    2. 弹性图片和媒体:使用百分比单位或`object-fit`属性适应不同屏幕尺寸。 3. 移动优先策略:先设计移动端界面,然后使用媒体查询扩展到更大屏幕。 四、CSS高级技巧 1. 颜色与渐变:理解色彩模式,使用渐变(线性、...

Global site tag (gtag.js) - Google Analytics