首页 > 代码库 > 理解CSS中的数学表达式calc()

理解CSS中的数学表达式calc()

定义

  数学表达式calc()是calculate计算的缩写,它允许使用+、-、*、/这四种运算符,可以混合使用%、px、em、rem等单位进行计算

  兼容性: IE8-、safari5.1-、ios5.1-、android4.3-不支持,android4.4-4.4.4只支持加法和减法。IE9不支持用于backround-position

  [注意]+和-运算符两边一定要有空白符

技术分享

<style>.test1{
    border: calc( 1px + 1px ) solid black;
    /* calc里面的运算遵循*、/优先于+、-的顺序 */
    width: calc(100%/3 - 2*1em - 2*1px);
    background-color: pink;
    font-style: toggle(italic, normal); }.test2{
    /* 由于运算符+的左右两侧没有空白符,所以失效 */
    border: calc(1px+1px) solid black;
    /* 对于,不能小于0的属性值,当运算结果小于0时,按0处理 */
    width: calc(10px - 20px);
    padding-left: 10px;
    background-color: lightblue;}</style>

技术分享

<div class="test1">测试文字一</div>    <div class="test2">测试文字二</div>

应用

  数学表达式calc()常用于布局中的不同单位的数字运算

技术分享

<style>p{margin: 0;}.parent{overflow: hidden;zoom: 1;}.left{float: left;width: 100px;margin-right: 20px;}    .right{float: left;width: calc(100% - 120px);}</style>

技术分享

技术分享

<div class="parent" style="background-color: lightgrey;">
    <div class="left" style="background-color: lightblue;">
        <p>left</p>
    </div>
    <div class="right"  style="background-color: lightgreen;">
        <p>right</p>
        <p>right</p>
    </div></div>

技术分享



理解CSS中的数学表达式calc()