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 相关文章推荐
一款纯css3实现的鼠标悬停动画按钮
Dec 29 HTML / CSS
html5理解head_动力节点Java学院整理
Jul 13 HTML / CSS
在html5的Canvas上绘制椭圆的几种方法总结
Jan 07 HTML / CSS
利用html5 canvas破解简单验证码及getImageData接口应用
Jan 25 HTML / CSS
基于HTML5代码实现折叠菜单附源码下载
Nov 27 HTML / CSS
使用Html5实现异步上传文件,支持跨域,带有上传进度条
Sep 17 HTML / CSS
使用PDF.JS插件在HTML中预览PDF文件的方法
Aug 29 HTML / CSS
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
Aug 01 HTML / CSS
amazeui时间组件的实现示例
Aug 18 HTML / CSS
简洁自适应404页面HTML好看的404源码
Dec 16 HTML / CSS
css3新特性的应用示例分析
Mar 16 HTML / CSS
html用代码制作虚线框怎么做? dw制作虚线圆圈的技巧
Dec 24 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
Zend Guard使用指南及问题处理
2015/01/07 PHP
php上传图片获取路径及给表单字段赋值的方法
2016/01/23 PHP
imgAreaSelect 中文文档帮助说明
2011/10/08 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
jQuery无缝轮播图代码
2016/12/22 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
2017/05/30 Javascript
打造通用的匀速运动框架(实例讲解)
2017/10/17 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
实例讲解JavaScript预编译流程
2019/01/24 Javascript
ES6的异步终极解决方案分享
2019/07/11 Javascript
微信公众号生成新浪短网址的实现(快速生成)
2019/08/18 Javascript
原生js实现随机点名功能
2019/11/05 Javascript
python中查看变量内存地址的方法
2015/05/05 Python
Python线程详解
2015/06/24 Python
Tornado 多进程实现分析详解
2018/01/12 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
Python 打印中文字符的三种方法
2018/08/14 Python
Django Form常用功能及代码示例
2020/10/13 Python
详解移动端HTML5音频与视频问题及解决方案
2018/08/22 HTML / CSS
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
英文版银行求职信
2013/10/09 职场文书
高三自我鉴定
2013/10/23 职场文书
成教毕业生自我鉴定
2013/10/23 职场文书
厂区绿化方案
2014/05/08 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
学习保证书怎么写
2015/02/26 职场文书
道歉信怎么写
2015/05/12 职场文书
作文之亲情600字
2019/09/23 职场文书
话题作文之学会尊重
2019/12/16 职场文书
Django与数据库交互的实现
2021/06/03 Python
Python可变集合和不可变集合的构造方法大全
2021/12/06 Python
MySQL中一条update语句是如何执行的
2022/03/16 MySQL
Go归并排序算法的实现方法
2022/04/06 Golang