• Css-calc()翻车归纳


    在Css3中引入了一个非常有用的功能,就是calc()函数。

    在它的括号内是一个 ‘表达式’ 。语法如下:

    calc(expression)

    在详细的介绍它之前,我们先清楚以下概念。

      1. 运算符 : 加('+')、减('-')、 乘('*')、 除('/')。

      2. ‘表达式’就是我们常说的算数式子(一般为等号的左边),例如: 1+2 、6/2 、4*2 ...

      3. 参数:函数括号内的内容称为参数(又称形参)。

    Css3中的calc()函数主要作用是来帮助我们计算一些 不容易得出的值。calc()会返回其参数的结果,也就是表达式的结果。再在页面渲染。

        1. 它的第一特色就是可以计算 不同单位 的值。

    .box{
      100px;
      height:200px;
      border:1px solid #000;
    }
    .chlid{
      100%;
      height:100%;
      padding-left:2px;
      margin-left:calc(100% - 2px);
      border:1px solid #000;
    }
    
    
    <div class="box">
      <div class="child"></div>
    </div>

      2. 它的第二特色就是可以嵌套--所有嵌套的 'calc()' 都会转化为 '()' 

    calc( calc(100% - 20px) - 2px ) 等同于 calc( (100% - 20px) - 2px )

    ----------------------------------------  容易出错的点 ------------------------------------- 

      1. calc()的‘+’、‘-’运算符 两边必须 空格--‘/’和‘*’没有这个规定,但是为了统一规范,都会留出空格。

    calc(20px - 4%)
    calc(1px + 2em)

      2. 当使用calc()函数的元素 的 父元素是body时,‘margin-top:calc()’ 会出现异常。

    body,html{
    100%;
    height:100%;
    padding:0;
    margin:0;
    }
    .box{ 40px; height:40px; margin
    -top:calc(100% - 20px); margin-left:calc(100% - 20px); border:1px solid #000; } <div class="box"></div>

    上述代码原是为了使div.box垂直水平居中,但是实际上页面会出现上下的滚动条,原因是此时 margin-top中的100% 是与 页面宽度相等(100%) 的。

  • 相关阅读:
    HDU 2822 Dogs【两次bfs】
    HDU 2819 Swap【二分图|启发题】
    HDU 2818 Building Block【并查集+根节点偏移量】
    HDU 2817 A sequence of numbers【水题|快速幂】
    Linux内核分析--操作系统是如何工作的
    讲座感想
    用eclipse开发和调试postgresql-8.4.1
    Ubuntu 14.04下翻译软件的安装与比较
    Linux下autoconf和automake使用
    github 使用网址
  • 原文地址:https://www.cnblogs.com/wssjzw/p/9079527.html
Copyright © 2020-2023  润新知