最近这个月一直在赶项目开发,遇到的问题和学到的前端知识没有更新到博客园,现在闲了下来,就整理一下前端知识。
  在项目开发中,在样式这方面花费的时间较多,因为针对于数字的变化特别多,本人不爱记数字,在看设计图时总是反复计算之间的数值,觉得很麻烦,偶然谷歌一下,发现了css3的一个属性--calc()
  calc() 很显然,是calculate的缩写--计算。是css3的一个属性。可以用来给width,height,border,margin以及padding等属性值设置动态值,拿个例子说:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>.one{width:200px;    //内容的宽度是200pxheight:200px;background: red;border: 1px solid;}.two {height:100%;padding-left: 10px;padding-right: 20px;background: pink;width:calc(100% - 10px - 20px);  //内容的宽度是170px}.three {height:100%;padding-left: 20px;background: aqua;width: calc(100% - 20px);    //内容的宽度是150px}</style>
</head>
<body><div class="one"><div class="two"><div class="three">abc</div></div></div>
</body>
</html>

里面的子元素不管怎么撑开,都不会超过父元素的边框。这样就不会考虑父元素的宽度是多少,直接写出calc(),浏览器自动计算width的属性值。大大的提高了效率。

使用方法:
  1. 可以嵌套使用    例如:calc( calc() );
  2. 可以使用四则运算 - * /;
  3. 可以% ,px,em,rem 混合使用。

注意事项:
  1. 和-在计算时前后要有空格,否则不识别。* 和 /没要求,为了规范都加空格吧。 例如: calc(100%-10px) 这样不会识别。
  2. 0 不能作为除数,否则会报错。很显然。

兼容性:
  既然是css3的新属性,避免不了兼容性问题。

  ie9以下不支持,火狐4以下不支持,4.0-15.0需要加前缀,谷歌19.0以下不支持,19.0-25.0需要加前缀,苹果5.1以下(包括5.1)不支持,6.0需要加前缀,欧朋15.0以下不支持。

  

calc() ---一个会计算的css属性相关推荐

  1. css里calculate,calc() ---一个会计算的css属性

    最近这个月一直在赶项目开发,遇到的问题和学到的前端知识没有更新到博客园,现在闲了下来,就整理一下前端知识. 在项目开发中,在样式这方面花费的时间较多,因为针对于数字的变化特别多,本人不爱记数字,在看设 ...

  2. css中会计算的属性,2017年12月聚合文章--calc() ---一个会计算的css属性 | 码友网

    最近这个月一直在赶项目开发,遇到的问题和学到的前端知识没有更新到博客园,现在闲了下来,就整理一下前端知识. 在项目开发中,在样式这方面花费的时间较多,因为针对于数字的变化特别多,本人不爱记数字,在看设 ...

  3. [译] Font-size:一个意外复杂的 CSS 属性

    原文地址:Font-size: An Unexpectedly Complex CSS Property 原文作者:Manish Goregaokar 译文出自:掘金翻译计划 本文永久链接:githu ...

  4. css提取页面元素唯一性_下面这个函数,能够获取一个元素的任意 CSS 属性值。...

    在对网页进行调试的过程中,经常会用到js来获取元素的CSS样式,方法有很多很多,现在仅把我经常用的方法总结如下: 1. obj.style:这个方法只能JS只能获取写在html标签中的写在style属 ...

  5. js获取css属性值的方法

    js操作获取dom元素的样式属性值 obj.style: 它只能够获取通过style设置的元素CSS属性值: 在html标签内通过style设置行内属性 通过.dom.style.width=&quo ...

  6. css属性pointer-events

    绝对定位元素盖住链接或添加某事件handle的元素后,那么该链接的默认行为(页面跳转)或元素事件将不会被触发. 现在Firefox3.6+/Safari4+/Chrome支持一个称为pointer-e ...

  7. CSS 获取当前可视屏幕高度--使用calc()方法动态计算宽度或者高度

    先了解一下CSS3的相对长度单位和绝对长度单位(参考详细教程) : 相对长度单位 相对长度单位指定了一个长度相对于另一个长度的属性.对于不同的设备相对长度更适用. 单位 描述 em 它是描述相对于应用 ...

  8. CSS 属性计算过程

    CSS 属性计算过程 你是否了解 CSS 的属性计算过程呢? 有的同学可能会讲,CSS属性我倒是知道,例如: p{color : red; } 上面的 CSS 代码中,p 是元素选择器,color 就 ...

  9. 一个可能让页面渲染速度提升数倍的CSS属性

    浏览器在接收到服务端返回的 HTML 之后,需要把这段数据渲染成用户看到的页面,在开始渲染第一个元素之前可能还需要经过很多步骤.这个过程会适用于整个页面,包括当前不可见的内容. 所以在首屏渲染时,是有 ...

最新文章

  1. 在Jira停售后,你决定赌Atlassian Data Center?
  2. dlib的编译和安装
  3. HDU——1498 50 years, 50 colors
  4. docker 容器中yum网速慢报错 Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds 解决方法
  5. nginx的master和worker进程间的通信
  6. 【PAT乙级】1055 集体照 (25 分)
  7. python的turtle画曲线_python的turtle模块画折线图
  8. 我所认识的JavaScript正则表达式
  9. 设计模式学习笔记——享元(Flyweight)模式
  10. BootstrapTable入门Demo
  11. java 自定义形状按钮_制作自定义背景Button按钮、自定义形状Button的全攻略
  12. C++基础——类继承中方法重载
  13. LwIP协议栈——网络接口管理
  14. python 和vba在财务上_Excel函数和VBA技术在财务工作中的应用
  15. java jdk jre版本要一样吗a_JDK是什么?JRE是什么?JDK和JRE的区别?
  16. java五子棋程序_Java五子棋游戏
  17. 面向接口编程(面向协议编程)
  18. 在《寒门状元之死》上,咪蒙贩卖的是什么?
  19. uniapp开发App调用微信授权登陆
  20. AT32F435_437_USB_MSC_SDIO

热门文章

  1. BERT、MT-DNN、GPT2.0、ERNIE
  2. Vue 导入文件import、路径@和.的区别
  3. element table 组件内容换行方案
  4. JavaScript入门几个概念
  5. 转: 微博的多机房部署的实践(from infoq)
  6. 【CSS】font样式简写(转)- 不是很建议简写
  7. Scramble String -- LeetCode
  8. 程序员需要了解的一点组织行为学知识
  9. 浅析路径遍历漏洞 文/饭
  10. 画函数图形的C#程序(改进版) (转)