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实现毛玻璃效果示例源码
Sep 25 HTML / CSS
css3 border-image使用说明
Jun 23 HTML / CSS
CSS3中颜色线性渐变实战
Jul 18 HTML / CSS
详解CSS3选择器的使用方法汇总
Nov 24 HTML / CSS
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
Feb 27 HTML / CSS
2分钟教你实现环形/扇形菜单(基础版)
Jan 15 HTML / CSS
把富文本的回车转为br标签
Aug 09 HTML / CSS
HTML5 常用语法一览(列举不支持的属性)
Jan 26 HTML / CSS
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
Jan 06 HTML / CSS
html5 CSS过度-webkit-transition使用介绍
Jul 02 HTML / CSS
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
Jan 27 HTML / CSS
H5 canvas实现贪吃蛇小游戏
Jul 28 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操作mysql执行数据库查询的一些常用操作汇总
2013/06/24 PHP
php对数组内元素进行随机调换的方法
2015/05/12 PHP
用AJAX返回HTML片段中的JavaScript脚本
2010/01/04 Javascript
Javascript Object.extend
2010/05/18 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
jQuery+easyui中的combobox实现下拉框特效
2015/02/27 Javascript
jQuery循环遍历子节点并获取值的方法
2016/04/14 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
2017/02/14 Javascript
详解vue静态资源打包中的坑与解决方案
2018/02/05 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
如何基于js判断浏览器版本
2020/02/20 Javascript
JS替换字符串中指定位置的字符(多种方法)
2020/05/28 Javascript
vue - props 声明数组和对象操作
2020/07/30 Javascript
python进程管理工具supervisor使用实例
2014/09/17 Python
关于Python数据结构中字典的心得
2017/12/04 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
荷兰家电购物网站:Expert.nl
2020/01/18 全球购物
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
学术会议邀请函范文
2014/01/22 职场文书
党的群众路线教育实践活动批评与自我批评
2014/02/16 职场文书
建筑安全标语
2014/06/07 职场文书
介绍信模板
2015/01/31 职场文书
淮阳太昊陵导游词
2015/02/10 职场文书
爱心捐助活动总结
2015/05/09 职场文书
检举信的写法
2019/04/10 职场文书
Redis可视化客户端小结
2021/06/10 Redis
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS