初识calc()

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

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

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

什么是calc()?

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

calc()的语法

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

怎么写?我举个例子:

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

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

实例

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

  html:

    <div class="box">

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

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

    </div>

  css:

    .box{

        width:100px;

        height:200px;

      }

    .box-left{

          width:50%;

          height:100%;

          border-right:1px solid black;

        }

    .box-right{

          width:50%;

          height:100%;

        }

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

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

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

    

    .box-left{

          width:calc(50% - 1px);

          height:100%;

          border-right:1px solid black;

        }

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

注意事项

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

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

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

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

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

css3之calc()的更多相关文章

  1. CSS3的calc()使用

    CSS3的calc()使用 calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度.比如说,你可以使用calc()给元素的border.margin.pad ...

  2. CSS的单位及css3的calc()及line-height百分比

    锚点:css中百分比减去固定元素 单位介绍 说到css的单位,大家应该首先想到的是px,也就是像素,我们在网页布局中一般都是用px,但是近年来自适应网页布局越来越多,em和百分比也经常用到了.然后随着 ...

  3. css3 的 calc()函数在布局中的使用----头部高度固定,页面正好占满一屏

    最近项目遇到一个布局需求,头部高度固定,页面需要刚好占满一屏幕. 如下示意图: 方法:使用calc .wrap{ position: relative; margin-left: 24px; marg ...

  4. CSS3 使用 calc() 计算高度 vh px

    Viewport    viewport:可视窗口,也就是浏览器.    vw Viewport宽度, 1vw 等于viewport宽度的1%    vh Viewport高度, 1vh 等于view ...

  5. CSS的单位 及 css3的calc() 及 line-height 百分比

    CSS的单位及css3的calc()及line-height百分比 摘自:http://www.haorooms.com/post/css_unit_calc 单位介绍 说到css的单位,大家应该首先 ...

  6. css3的calc() css3的百分比减宽,减高,加,乘,除,适合用于后台的排版定位

    css3的calc() css3的百分比减宽,减高,加,乘,除,适合用于后台的排版定位 浏览器支持IE9+.FF4.0+.Chrome19+.Safari6+ calc()语法非常简单,就像我们小时候 ...

  7. [转]CSS3 使用 calc() 计算高度 vh px

    1.px 像素,我们在网页布局中一般都是用px. 2.百分比 百分比一般宽泛的讲是相对于父元素,自适应网页布局越来越多,百分比也经常用到了. 3.Viewport    viewport:可视窗口,也 ...

  8. css3的calc属性不生效问题

    css3的 calc:计算属性.由于自己做的项目中这个属性不常用到,偶尔用一次还没效果. 后来研究了下是因为运算符两边没加空格. 错误示例:.content{width:calc(100%-50px) ...

  9. CSS3表达式calc( )

    CSS3表达式calc( ) 第一次看到calc( )时,不太相信calc()是css中的部分.因为看其外表像个函数,但是CSS里为啥会有表达式我也不太清楚,偶然机会在网页里看到的,自己切片写自适应时 ...

  10. css3的 calc属性无效问题解决

    css3的 calc:计算属性. 运算符两边需要加空格,才有效. 错误示例:.mystyle{width:calc(100%-25px)}这样是不生效的 运算符"+ - * /"左 ...

随机推荐

  1. 160726 smarty 笔记(2)

    <?php //取当前页 $p=1; if(!empty($_GET["page"])) { $p=$_GET["page"]; } //定义页面缓存文件 ...

  2. How can For each...

    Answer:   I understand the IEnumerator/IEnumerable methods and properties and also how they are inte ...

  3. iOS开发之JSONKit

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc ...

  4. Chrome搜索设置

    https://encrypted.google.com/ncr https://encrypted.google.com/search?{google:RLZ}{google:acceptedSug ...

  5. ArrayList原理分析(重点在于扩容)

    首先,ArrayList定义只定义类两个私有属性: /** * The array buffer into which the elements of the ArrayList are stored ...

  6. 20145329《Java程序设计》第八周学习总结

    教材学习内容总结 日志 1.java.util.logging包提供了日志功能相关类与接口. 2.使用日志的起点是Logger类,Longer类的构造函数标示为protected,不同包的类药取得Lo ...

  7. IDEA 安装mybatis 插件 可以通过mapper定位到xml

    在使用IDEA的时候 ,通过mapper类定位到 xml文件是让人很头疼的问题! 无意中发现了这个插件!可以通过类方法直接定位到xml中!比较强大!哈哈! 这玩意好像是付费的! 不过不破解也能用! 哈 ...

  8. 贝叶斯公式由浅入深大讲解—AI基础算法入门【转】

    本文转载自:https://www.cnblogs.com/zhoulujun/p/8893393.html 1 贝叶斯方法 长久以来,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生, ...

  9. Secure a Web API with Individual Accounts and Local Login in ASP.NET Web API 2.2

    https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/individual-accounts-in-web-api Ind ...

  10. Codeforces Round #365 (Div. 2) E - Mishka and Divisors(转化成01-背包)

    http://codeforces.com/contest/703/problem/E 题意: 给出n个数和一个k,计算出至少要多少个数相乘才是k的倍数. 思路:这道题目参考了杭电大神的代码http: ...