• 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以下不支持。

      

  • 相关阅读:
    BZOJ 2653 middle
    BZOJ 3207 花神的嘲讽计划Ⅰ
    BZOJ 3689 异或之
    BZOJ 3037 创世纪
    BZOJ [1264] [ AHOI2006]基因匹配Match
    BZOJ 2186 [Sdoi2008]沙拉公主的困惑
    BZOJ 3362 Navigation Nightmare
    BZOJ 3209 花神的数论题
    BZOJ 1411 ZJOI2009 硬币游戏
    【HDU1573】X问题
  • 原文地址:https://www.cnblogs.com/sqh17/p/8046591.html
Copyright © 2020-2023  润新知