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 相关文章推荐
在HTML5中如何使用CSS建立不可选的文字
Oct 17 HTML / CSS
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
Dec 06 HTML / CSS
浅谈three.js中的needsUpdate的应用
Nov 12 HTML / CSS
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
Jan 30 HTML / CSS
html5需遵循的6个设计原则
Apr 27 HTML / CSS
有关HTML5页面在iPhoneX适配问题
Nov 13 HTML / CSS
canvas实现漂亮的下雨效果的示例
Apr 18 HTML / CSS
详解window.open被浏览器拦截的解决方案
Jul 18 HTML / CSS
amazeui页面校验功能的实现代码
Aug 24 HTML / CSS
关于webview适配H5上传照片或者视频文件的方法
Nov 04 HTML / CSS
html+css实现赛博朋克风格按钮
May 26 HTML / CSS
HTML+CSS实现导航条下拉菜单的示例代码
Aug 02 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初学者头疼十四条问题大总结
2008/11/12 PHP
一些php技巧与注意事项分析
2011/02/03 PHP
PHP 动态生成静态HTML页面示例代码
2014/01/15 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
2015/12/24 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
PHP如何实现订单的延时处理详解
2017/12/30 PHP
javascript比较文档位置
2008/04/08 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
JS实现在页面随时自定义背景颜色的方法
2015/02/27 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
js+ajax实现获取文件大小的方法
2015/12/08 Javascript
老生常谈遮罩层 滚动条的问题
2016/04/29 Javascript
JavaScript实现的数字与字符串转换功能示例
2017/08/23 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
vue列表单项展开收缩功能之this.$refs的详解
2019/05/05 Javascript
微信小程序生成海报分享朋友圈的实现方法
2019/05/06 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
js仿淘宝放大镜效果
2020/12/28 Javascript
[01:01:23]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第一场 11.26
2020/11/30 DOTA
教你安装python Django(图文)
2013/11/04 Python
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
Python中用format函数格式化字符串的用法
2015/04/08 Python
CentOS7安装Python3的教程详解
2019/04/10 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
使用Python制作新型冠状病毒实时疫情图
2020/01/28 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
玛蒂尔达简服装:Matilda Jane Clothing
2019/02/13 全球购物
党员干部公开承诺书
2014/03/26 职场文书
销售经理工作检讨书
2015/02/19 职场文书
体育教师研修感悟
2015/11/18 职场文书
导游词之天下银坑景区
2019/11/21 职场文书