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图标制作教程制作云图标
Jan 19 HTML / CSS
localStorage 设置过期时间的方法实现
Dec 21 HTML / CSS
HTML5 标准将把互联网视频扔回到黑暗时代
Feb 10 HTML / CSS
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
Nov 22 HTML / CSS
html5模拟平抛运动(模拟小球平抛运动过程)
Jul 25 HTML / CSS
html5 css3网站菜单实现代码
Dec 23 HTML / CSS
详解HTML5中的manifest缓存使用
Sep 09 HTML / CSS
整理HTML5中表单的常用属性及新属性
Feb 19 HTML / CSS
详解HTML5中的拖放事件(Drag 和 drop)
Nov 14 HTML / CSS
配置H5的滚动条样式的示例代码
Mar 09 HTML / CSS
html5 横向滑动导航栏的方法示例
May 08 HTML / CSS
CSS3实现360度循环旋转功能
Feb 12 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
分享最受欢迎的5款PHP框架
2014/11/27 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
2020/11/10 PHP
javascript代码加载优化方法
2011/01/30 Javascript
jquery cookie实现的简单换肤功能适合小网站
2013/08/25 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
javascript实现根据汉字获取简拼
2016/09/25 Javascript
React-native桥接Android原生开发详解
2018/01/17 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
nodejs搭建本地服务器轻松解决跨域问题
2018/03/21 NodeJs
JavaScript实现短暂提示框功能
2018/04/04 Javascript
animate.css在vue项目中的使用教程
2018/08/05 Javascript
angularJs中json数据转换与本地存储的实例
2018/10/08 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
微信小程序实现点击生成随机验证码
2020/09/09 Javascript
Python常用模块用法分析
2014/09/08 Python
Python里disconnect UDP套接字的方法
2015/04/23 Python
Python写入CSV文件的方法
2015/07/08 Python
django manage.py扩展自定义命令方法
2018/05/27 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
解决Python 使用h5py加载文件,看不到keys()的问题
2019/02/08 Python
python批量识别图片指定区域文字内容
2019/04/30 Python
django云端留言板实例详解
2019/07/22 Python
学python最电脑配置有要求么
2020/07/05 Python
印度尼西亚最大和最全面的网络商城:Blibli.com
2017/10/04 全球购物
史蒂夫·马登加拿大官网:Steve Madden加拿大
2017/11/18 全球购物
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
波兰最大的电商平台:Allegro.pl
2021/02/06 全球购物
超市总经理岗位职责
2014/02/02 职场文书
财务会计毕业生个人求职信
2014/02/03 职场文书
学校党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
小孩不笨观后感
2015/06/03 职场文书
务工证明怎么写
2015/06/18 职场文书
法院执行局工作总结
2015/08/11 职场文书