box-sizing 属性

  规定两个并排的带边框的框:

例子:

box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素。

例如,假如您需要并排放置两个带边框的框,可通过将 box-sizing 设置为 "border-box"。这可令浏览器呈现出带有指定宽度和高度的框,并把边框和内边距放入框中。

代码:

  html页面

         <div class="container">
<div class="content">content</div>
<div class="slider">slider</div>
</div>

  CSS代码

             .container{
border: 2px solid green;
height: 200px;
width: 100%;
line-height: 200px;
text-align: center; }
.container > div{
float: left;
}
.content{
border: 2px solid blueviolet;
height: 200px;
width: 69%;
box-sizing: border-box;
float: left !important;
}
.slider{
border: 2px solid deepskyblue;
height: 200px;
width: 30%;
box-sizing: border-box;
float: right !important;
}

calc() 属性

例子:

什么是calc()?

  calc()从字面我们可以把他理解为一个函数function。其实calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度。比如说,你可以使用calc()给元素的border、margin、pading、font-size和width等属性设置动态值。为何说是动态值呢?因为我们使用的表达式来得到的值。不过calc()最大的好处就是用在流体布局上,可以通过calc()计算得到元素的宽度

calc()有什么用?

calc()能让你给元素的做计算,你可以给一个div元素,使用百分比、em、px和rem单位值计算出其宽度或者高度,比如说“width:calc(50% + 2em)”,这样一来你就不用考虑元素DIV的宽度值到底是多少,而把这个烦人的任务交由浏览器去计算。

calc()的运算规则

使用“+”、“-”、“*” 和 “/”四则运算:
可以使用百分比、px、em、rem等单位;
可以混合使用各种单位进行计算;
表达式中有“+”和“-”时,其前后必须要有空格,如"widht: calc(12%+5em)"这种没有空格的写法是错误的;
表达式中有“*”和“/”时,其前后可以没有空格,但建议留有空格。
注意:表达式中不能用"()"。如果有必须拆分。如(100% - 45px)/ 2必须写成 100% / 2 - 45px / 2。

语法

calc()语法

calc()语法非常简单,就像我们小时候学加 (+)、减(-)、乘(*)、除(/)一样,使用数学表达式来表示:

.elm {
width: calc(expression);
}

其中"expression"是一个表达式,用来计算长度的表达式。

实际应用中要注意做浏览器兼容:

大家在实际使用时,同样需要添加浏览器的前缀

 .elm {
/*Firefox*/
-moz-calc(expression);/*chrome safari*/
-webkit-calc(expression);/*Standard */
calc();
}
代码:
 
 html页面
      <div class="container">
<div class="content1">content1</div>
<div class="slider1"><slider1></slider1></div>
</div>

CSS页面

            .container{
border: 2px solid green;
height: 200px;
width: 100%;
line-height: 200px;
text-align: center; }
   .container > div{
float: left;
}
       .content1{
border: 2px solid blueviolet;
height: calc(100% - 4px);
width: calc(70% - 10px - 4px);
margin-right: 10px;
}
.slider1{
border: 2px solid deepskyblue;
height:calc(100% - 4px);
width: calc(30% - 4px);
}

  总结:

从上面的代码及效果图中,我们可以看出他们之间一些细微的差别,这需要我们在使用过程中根据实际情况去选择使用哪个属性,当然总体上,我对calc()使用感觉好一些。


CSS3之calc()和box-sizing属性的更多相关文章

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

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

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

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

  3. CSS3的calc()使用

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

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

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

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

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

  6. CSS3盒模型display:box详解

    display:box;box-flex是css3新添加的盒子模型属性,它的出现可以解决我们通过N多结构.css实现的布局方式.经典的一个布局应用就是布局的垂直等高.水平均分.按比例划分. 目前box ...

  7. CSS3盒模型display:box简述

    display:box;box-flex是css3新添加的盒子模型属性,它的出现可以解决我们通过N多结构.css实现的布局方式.经典的一个布局应用就是布局的垂直等高.水平均分.按比例划分. box-f ...

  8. [转]CSS3盒模型display:box详解

    时间:2014-02-25来源:网络作者:未知编辑:RGB display:box;box-flex是css3新添加的盒子模型属性,它的出现可以解决我们通过N多结构.css实现的布局方式.经典的一个布 ...

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

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

  10. CSS3表达式calc( )

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

随机推荐

  1. worker pool Handling 1 Million Requests per Minute with Golang

    小结: 1. 我们决定使用 Go 通道的一种常用模式构建一个两层的通道系统,一个通道用作任务队列,另一个来控制处理任务时的并发量. 这个办法是想以一种可持续的速率.并发地上传数据至 S3 存储,这样既 ...

  2. 【C++】约瑟夫环(数组+链表)

    基于数组: #include<iostream> #include<cstring> #include<cstdlib> using namespace std; ...

  3. python基础5 while循环

    一.while循环: while  条件: 代码块 例: n=0 while n<10: print(n) n=n+1   #n自加1 ,满足n<10,继续循环 输出结果: 1 2 3 4 ...

  4. 2018-2019-2 20165225《网络对抗技术》Exp1 缓冲区溢出实验

    2018-2019-2 20165225<网络对抗技术>Exp1 缓冲区溢出实验 声明 虽然老师在邮箱中要求要把虚拟机名改为个人名字缩写,但是我的kali好像不是很听话...重启数次也没用 ...

  5. 更改oracle数据库密码(因为密码过期)

    更改system的密码,然后用此用户登录数据库,在数据库里修改指定用户密码 alter user username identified by newpassword; --修改忘记密码用户的密码 让 ...

  6. Redis集群概述

    Redis Cluster与Redis3.0.0同时发布,以此结束了Redis无官方集群方案的时代,目前,Redis已经发布了3.0.7版本. redis cluster是去中心化,去中间件的,也就是 ...

  7. matlab2014a 转化c语言

    一.原因错误 第一种,命令窗口测试代码mbulid -setup  出错 , 就是电脑没有安装sdk7.1  网上有很多安装教程(注意要有vc++2010要卸载,具体看网上教程,安装好了要更性vc++ ...

  8. 问题记录 --Error parsing column 1 (Function_Num=10 - String)”

    当C#查询数据库出现Error parsing column ## 的时候,首先去看看数据库里面该字段是什么类型,然后在看看你在创建model 的时候是什么类型,如果model的类型和数据库字段类型不 ...

  9. Unity3D 代码加密保护工具

    加密方式   对于Unity3D的保护方式,主要是通过Virbox Protector Standalone对Unity3D程序的整个生成目录进行加密,可以保护Unity的主要代码逻辑不被反编译,最大 ...

  10. Linux下安装scikit-learn

    Linux下安装scikit-learn sudo apt-get install python-pip sudo apt-get install python-pandas python-sympy ...