zoukankan      html  css  js  c++  java
  • calc() ---一个会计算的css属性

      最近这个月一直在赶项目开发,遇到的问题和学到的前端知识没有更新到博客园,现在闲了下来,就整理一下前端知识。
      在项目开发中,在样式这方面花费的时间较多,因为针对于数字的变化特别多,本人不爱记数字,在看设计图时总是反复计算之间的数值,觉得很麻烦,偶然谷歌一下,发现了css3的一个属性--calc()
      calc() 很显然,是calculate的缩写--计算。是css3的一个属性。可以用来给width,height,border,margin以及padding等属性值设置动态值,拿个例子说:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .one{
                width:200px;    //内容的宽度是200px
                height:200px;
                background: red;
                border: 1px solid;
            }
            .two {
                height:100%;
                padding-left: 10px;
                padding-right: 20px;
                background: pink;
                width:calc(100% - 10px - 20px);  //内容的宽度是170px
            }
            .three {
                height:100%;
                padding-left: 20px;
                background: aqua;
                width: calc(100% - 20px);    //内容的宽度是150px
            }
        </style>
    </head>
    <body>
        <div class="one">
            <div class="two">
                <div class="three">abc</div>
            </div>
        </div>
    </body>
    </html>

    里面的子元素不管怎么撑开,都不会超过父元素的边框。这样就不会考虑父元素的宽度是多少,直接写出calc(),浏览器自动计算width的属性值。大大的提高了效率。

    使用方法:
      1. 可以嵌套使用    例如:calc( calc() );
      2. 可以使用四则运算 + - * /;
      3. 可以% ,px,em,rem 混合使用。

    注意事项:
      1. +和-在计算时前后要有空格,否则不识别。* 和 /没要求,为了规范都加空格吧。 例如: calc(100%-10px) 这样不会识别。
      2. 0 不能作为除数,否则会报错。很显然。

    兼容性:
      既然是css3的新属性,避免不了兼容性问题。

      ie9以下不支持,火狐4以下不支持,4.0-15.0需要加前缀,谷歌19.0以下不支持,19.0-25.0需要加前缀,苹果5.1以下(包括5.1)不支持,6.0需要加前缀,欧朋15.0以下不支持。

      

  • 相关阅读:
    linux 磁盘挂载及查看磁盘
    【转】Linux 如何通过命令仅获取IP地址
    【转】CentOS 7 安装配置 NFS
    【转】利用virtualenv管理Python环境
    ssh 常用命令
    JavaScript 视频教程 收藏
    MySQL Json类型的数据处理
    Nhibernate + MySQL 类型映射
    ABP框架服务层的接口与实现(增删改查)
    ABP框架源码中的Linq扩展方法
  • 原文地址:https://www.cnblogs.com/sqh17/p/8046591.html
Copyright © 2011-2022 走看看