学习css calc() 动态算法

语法 cacl(四则运算)

语义

calc 函数是css3计算函数,可以使用 * / - + 来计算值。calc函数也可以嵌套。

兼容性

浏览器大部分支持,

  •  = 支持
  •  = 不支持
  •  = 部分支持
IE Firefox Chrome Safari Opera IOS Safari Android Browser Android Chrome
6.0-8.0 2.0-3.6 4.0-18.0 3.1-5.1 15.0+ 3.2-5.1 2.1-4.3 18.0
9.0+ 4.0-15.0 -moz- 19.0-25.0 -webkit-   6.0-6.1 -webkit- 4.4-4.4.4 19.0-25.0 -webkit-
16.0+ 26.0+ 6.1+ 7.0+ 26.0+

常用方式举例

.calc{
    width: calc(100% - 50px) // 父元素宽 减去 50px
    height: calc(100% + 50px) // 父 元素高 加上 50px
    height: calc(50% - calc(50% - 30px)); // 嵌套calc  假设父元素高度为400px; 根据四则运算的先后规律,先算出右边的, 400 * 0.5 - 30px = 170px; 再算左边的,200 - 170px = 30px; 由此推算出 此元素的高为 30px;
    width: calc(20% * 2 ) // 父元素宽的 20% * 2;
    width: calc(20% / 2 ) // 父元素宽的 20% / 2;
}

实景用例

实现响应式 view

<html>
<head>
    <meta charset="utf-8">
    <title>calc</title>
    <style>
       ul{
           display: flex;
           padding-left: 0;
       }
       li{
           list-style: none;
           margin: 10px 15px;
           width: calc( ( 100% - 15px * 2 * 3 ) / 3);
           height: 200px;
           background-color:palegoldenrod;
       }
    </style>
</head>
<body>
    <ul>
        <li>第一块</li>
        <li>第二块</li>
        <li>第三块</li>
    </ul>
</body>

实现元素居中

<html>
<head>
    <meta charset="utf-8">
    <title>calc</title>
    <style>
        /** 垂直居中一个元素 **/
        .div{
            position: absolute;
            width: 400px;
            height: 400px;
            top: calc((100% - 400px) / 2);
            left: calc((100% - 400px) /2);
            background-color:palegoldenrod;
        }
    </style>
</head>
<body>
    <div class="div">
    </div>
</body>

参考文献:http://caibaojian.com/css3-calc.html

谢谢观看!

猜你喜欢

转载自blog.csdn.net/qq_34849240/article/details/80895402