CSS3 calc()会计算属性详解


Posted in HTML / CSS onFebruary 27, 2018

前言

正如其名,calc是css3中新增的计算属性,让很多属性增加了一个表达式的说法;

calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,你可以使用calc()给元素的border、margin、pading、font-size、width和height等属性设置动态值。

怎么使用

calc()可以使用数学运算中的简单加(+)、减(-)、乘(*)和除(/)来解决问题,而且还可以根据单位如px,em,rem和百分比来转化计算。
标准的写法:

.class{
       /*
         area: expression;
       */
       width:calc();
       padding:calc();
       margin-top:calc();
       ...
   }

兼容性

CSS3 calc()会计算属性详解

基本理论

  1. calc可以做用于任何具有大小的东东,比如border、margin、pading、font-size和width等属性设置动态值
  2. 支持的运算单位: rem , em , percentage , px
  3. 计算优先级别和数学一致

注意点:

calc 内部的表达式,在使用运算符号时,两遍必须加上空格(虽然乘除可以无视,但还是建议带上)!!!!!,不然会解析错误!!,看演示写法

width:calc(10 * 10px);
    width:calc(50% - 50px);
    width:calc(50% + 5em);
    width:calc(10% / 1rem);

小demo

仅仅作为演示,响应伸缩

CSS3 calc()会计算属性详解

代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>CSS3 Calc</title>
    <style type="text/css" media="screen">
        html{
            font-size:62.5%;
        }
        .wrapper{
            width:100%;
            border:5px solid #f00;
            margin:10px ;
            box-sizing:border-box;
            height:200px;
            clear:b;
        }
        .items{
            height:calc(100% - 40px);
            display:inline-block;
            border:1px solid #f70;
            text-align:center;
        }

        .w1 .items{

            float:left;
            margin-top:calc( 5 * 4px  );
            border:3px solid #0F16C6;
            width:calc(100% / 3 - 6px)
        }

        .w2 .items{
            float:left;
            margin-top:calc(200px - 20px * 9);
            width:calc(100% / 3 - 2px)
        }

        .w3 .items{
            float:left;
            width:calc(100% / 3 - (3 * 6px));
            margin:calc(2px * 4 );
        }

        .w3 .items:first-child{
            padding:calc(5 * 1rem - 3rem);
            box-sizing:border-box;
        }

    </style>
</head>

<body>
    <div class="wrapper w1">
        <div class="items">margin-top:calc( 5 * 4px  );</div>
        <div class="items">margin-top:calc( 5 * 4px  );</div>
        <div class="items">margin-top:calc( 5 * 4px  );</div>
    </div>
    <div class="wrapper w2">
        <div class="items">margin-top:calc(200px - 20px * 9);</div>
        <div class="items">margin-top:calc(200px - 20px * 9);</div>
        <div class="items">margin-top:calc(200px - 20px * 9);</div>
    </div>
    <div class="wrapper w3">
        <div class="items">width:calc(100% / 3 - (3 * 6px));<br>margin:calc(2px * 4 );<br>padding:calc(5 * 1rem - 3rem);</div>
        <div class="items";>width:calc(100% / 3 - (3 * 6px));<br>margin:calc(2px * 4 )</div>
        <div class="items";>width:calc(100% / 3 - (3 * 6px));<br>margin:calc(2px * 4 )</div>
    </div>
</body>
</html>

总结

calac 和flexbox搭配,用来写流式布局非常好;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS伪类与CSS伪元素的区别及由来具体说明
Dec 07 HTML / CSS
IE滤镜与CSS3效果(详细整理分享)
Jan 25 HTML / CSS
CSS3的Flexbox布局的简明入门指南
Apr 08 HTML / CSS
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
Jun 28 HTML / CSS
CSS3 实现时间轴动画
Nov 25 HTML / CSS
W3C公布最新的HTML5标准草案
Oct 17 HTML / CSS
html5弹跳球示例代码
Jul 23 HTML / CSS
使用HTML5 Canvas API绘制弧线的教程
Mar 22 HTML / CSS
phonegap常用事件总结(必看篇)
Mar 31 HTML / CSS
关于h5中的fetch方法解读(小结)
Nov 15 HTML / CSS
利用canvas实现图片压缩的示例代码
Jul 17 HTML / CSS
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
Mar 30 HTML / CSS
CSS3 clip-path 用法介绍详解
Mar 01 #HTML / CSS
CSS3混合模式mix-blend-mode/background-blend-mode简介
Mar 15 #HTML / CSS
CSS3截取字符串实例代码【推荐】
Jun 07 #HTML / CSS
CSS3地图动态实例代码(圆圈向外扩散)
Jun 15 #HTML / CSS
css3中的calc函数浅析
Jul 10 #HTML / CSS
详解css3 object-fit属性
Jul 27 #HTML / CSS
CSS3对图片照片进行边缘模糊处理的实现
Aug 08 #HTML / CSS
You might like
PHP has encountered an Access Violation 错误的解决方法
2010/01/17 PHP
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
php json中文编码为null的解决办法
2016/12/14 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
关于onScroll事件在IE6下每次滚动触发三次bug说明
2011/09/21 Javascript
动态加载jquery库的方法
2014/02/12 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
Angularjs注入拦截器实现Loading效果
2015/12/28 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
jQuery仿写百度百科的目录树
2017/01/03 Javascript
原生js轮播特效
2017/05/18 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
2017/07/04 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
从vue源码看props的用法
2019/01/09 Javascript
使用Node.js实现一个多人游戏服务器引擎
2019/03/13 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
python命令行参数解析OptionParser类用法实例
2014/10/09 Python
Python多线程爬虫简单示例
2016/03/04 Python
python爬虫之百度API调用方法
2017/06/11 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
python 中的[:-1]和[::-1]的具体使用
2020/02/13 Python
pytorch进行上采样的种类实例
2020/02/18 Python
Python中常用的高阶函数实例详解
2020/02/21 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
2020/02/25 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
亿企通软件测试面试题
2012/04/10 面试题
师范毕业生求职自荐信
2013/09/25 职场文书
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
生物科学专业自荐书
2014/06/20 职场文书
房屋出租协议书范本(标准版)
2014/09/24 职场文书
开展党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
公司门卫岗位职责
2015/04/13 职场文书
2015年安全生产管理工作总结
2015/05/25 职场文书