• css3之calc()


    初识calc()

    在使用calc()之前,我也只是听说有这么一个东西,但在用过之后我才发现这个功能其实很实用。

    calc()其实就是英文calculate(计算)的缩写,它看起来像个函数吧?

    其实不是,calc()是css3中的一个属性

    什么是calc()?

    使用calc()我们可以动态的来指定元素的长度,我们可以用它给元素的border、margin、pading、font-size和width等属性设置动态值。
    为何它是动态的?因为它是通过计算来决定属性的长度的。

    calc()的语法

    就像它全称calculate(计算)所说的,就是加 (+)、减(-)、乘(*)、除(/)。

    怎么写?我举个例子:

    .box {
       calc(100%-10px);
    }

    这样的话类名为box的类标签,它的宽度就是父元素宽度的100%减去10px,这是一个动态的属性。

    实例

     我是在工作中遇到这个问题的,情况是这样:

      html:

        <div class="box">

          <div class="box-left"></div>

          <div class="box-right"></div>

        </div>

      css:

        .box{

            100px;

            height:200px;

          }

        .box-left{

              50%;

              height:100%;

              border-right:1px solid black;

            }

        .box-right{

              50%;

              height:100%;

            }

    一个div中有左右两个div,但是两个div中有一条中线,我想一般都是用border解决吧!但是因为div的宽度各占50%,在添加了borer之后,两个div的总宽度为50%+50%+1px=100%+1px。

    我们的总宽度超过父元素的总宽度了QAQ!所以.div-right被无情的挤了下来。

    我们来用calc()把.box-right放上去吧!代码如下:

        

        .box-left{

              calc(50% - 1px);

              height:100%;

              border-right:1px solid black;

            }

    这样我们就把两个div放进.box了,并且中间成功的放进了一条分割线。╰(*´︶`*)╯

    注意事项

     在使用的过程中有一些注意事项:

    1、运算符号的左右两边要有空格分开,如calc(50% - 1px);

       乘号和除号可以不要加空格,但是建议加上比较好。

    2、考虑到兼容问题,我们还可以加上这些:

       -moz-calc(40% - 1px); 
       -webkit-calc(40% - 1px); 
       calc(40% - 1px);

  • 相关阅读:
    最实用的logback讲解(2)—appender
    深入理解lombok
    idea(三)最值得安装的几款插件
    idea(二)初次安装强烈建议修改的配置
    swagger2的使用和swagger2markup离线文档的生成(最简单的方式)
    maven(一) 基础知识
    maven(二)pom文件详解
    ubuntu下jdk的安装
    maven(三)最详细的profile的使用
    profile之springboot
  • 原文地址:https://www.cnblogs.com/yuwenjing0727/p/10161609.html
Copyright © 2020-2023  润新知