css3案例之calc()的使用

calc()是个什么鬼?相信对css3研究比较深入的童鞋对这个函数的作用及用法还是比较熟悉,对于web前端新人而言,这个函数还是比较陌生。其实calc()是css3的一个新增功能,用来指定元素的长度,我们也可以把它理解为一个函数的function。今天小编就和大家分享一下CSS3的calc()的作用及具体用法。

calc()能做什么?

CSS3中calc()具体有什么用处呢? calc()不仅可以给元素的border、margin、pading、font-size和width等属性设置动态值,在流体布局上,还可以通过calc()计算得到元素的宽度。比如:用calc(),你可以给一个div元素,使用百分比、em、px和rem单位值计算出其宽度或者高度,比如说“width:calc(50% + 2em)”,这样一来你就不用考虑元素DIV的宽度值到底是多少,直接将任务交给浏览器去计算就好了。

calc()语法

calc()语法非常简单,类似加 (+)、减(-)、乘(*)、除(/),使用数学表达式来表示,比如:

width: calc(expression);

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

calc()的运算规则

calc()使用通用的数学运算规则,但也提供更智能化的功能:

使用“+”、“-”、“*” 和 “/”四则运算;

可以使用百分比、px、em、rem等单位;

可以混合使用各种单位进行计算;

表达式中有“+”和“-”时,其前后必须要有空格,如”widht: calc(12%+5em)”这种没有空格的写法是错误的;

表达式中有“*”和“/”时,其前后可以没有空格,但建议留有空格。

浏览器的兼容性

通过一个具体的实例和大家展示,做一个三列并排的模块,宽度按百分比、有padding值、有border值、还有margin-right,且这三个值是px:

li{

float:left;

width:33.3333%;

height:50px;

padding:10px;

margin-right:10px;

background:#FF6666;

border:5px solid #DAC8A7;

}

效果,如下图:

从图中,可看出,这种方法下,它是不会好好并列的,通过计算也不好操作,总会有一些误差,这个时候,就需要用到calc()了:

li{

float:left;

//width:33.3333%;

height:50px;

padding:10px;

margin-right:15px;

background:#FF6666;

border:5px solid #DAC8A7;

width:calc(33.3333% - (10px + 5px) * 2 - 15px )

}

意思是(width-(padding+border)*2-margin)

现在可以实现我们需要的并排了:

以上就是css3中,calc()的作用及具体用法,在宽度计算做响应模式布局上,非常实用。

时间: 2024-10-17 13:46:58

css3案例之calc()的使用的相关文章

15款HTML5/CSS3案例展示,导航,日历,钟表。

对于前端开发者来说,分享一些优秀的HTML5应用可以直接拿来用,更重要的是可以激发创作的灵感.今天我们要分享9款精挑细选的HTML5应用,个个都是干货. 1.HTML5/CSS3滑块动画菜单 图标动画很酷 CSS3菜单我们之前已经分享很多了,有3D菜单.下拉菜单.Tab菜单等,具体大家可以移步至CSS3菜单栏目下查找.今天我们要分享的这款HTML5/CSS3滑块动画菜单非常酷,鼠标滑过菜单项时会有一个漂亮的遮罩移动过来,并且这款动画菜单还有非常酷的图标,菜单整体效果很大气. 在线演示     

css3中的calc()

1.什么是calc()? calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能.用来指定元素的长度.比方说,你能够使用calc()给元素的border.margin.pading.font-size和width等属性设置动态值. calc()最大的优点就是用在流体布局上.能够通过calc()计算得到元素的宽度. 2.calc()能做什么? calc()能让你给元素的做计算.你能够给一个div元素,使用百分比.em.px和rem单位值计算出其宽度或者高度.比方说"widt

css3计算属性(calc)

如果有固定头部高度和底部高度,内容的高度或者宽度想要根据浏览器屏幕自适应的话,可以用到css3的计算属性,即calc. 用法如下: 内容区域高/宽 = calc(100% - 头部高宽 - 底部高宽) //这样就可以自适应高度或宽度了. 浏览器高度: document.documentElement.clientHeight

css3中的calc的使用

最近在布局的时候遇到一个问题,在页面中的左侧是侧边栏,右边是内容区域,内容区域中有一个固定定位的标签页,在设置固定定位的标签设置宽度的时候应该是内容区域的宽度,而固定定位的时候相对于是窗口的宽度,所以转换为了当前窗口的宽度减去左侧的侧边栏的宽度 开始在网上查了查有个calc属性是可以写表达式的,但是自己使用的时候却没有效果,自己测试了半天才发现是写法的错误 width: calc(100% - 10px); 在写的时候需要在运算符的左右都加上空格才能生效 原文地址:https://www.cnb

Css3案例

<!DOCTYPE html> <html> <meta charset=utf-8> <head> <style> body{ backgound:#f9f9f9; } .img{ position: absolute; width: 300px; height: 200px; border:10px solid #ccc; overflow:hidden; } .img img{ width:100%; height:100%; transi

CSS3的calc()使用

转自:http://www.w3cplus.com/css3/how-to-use-css3-calc-function.html calc()对大家来说,或许很陌生,不太会相信calc()是css中的部分.因为看其外表像个函数,既然是函数为何又出现在CSS中呢?这一点 也让我百思不得其解,今天有一同事告诉我,说CSS3中有一个属性能实现自适应的布局,首先让我想到的是box-sizing,但跟我说还可以计算,这让 我不得不想起calc().因为早先在官网和一些blog上看到相关的介绍,但一直没有

CSS3实战开发:手把手教大家搜索表单发光特效实战开发

各位网友,大家好,我是陌上花会开,今天这个案例,我将带领大家,手把手教大家开发一个会发光的表单组,还是先秀运行效果图吧: 从这个效果图,大家可以发现,当光标在某个组件上时,它就会发光,今天我将带领大家实战开发这个特效. PS: 大家可以直接将博客中的代码复制到本地便可得到同样的运行效果. 首先,我们先准备好html代码: <!doctype html> <html> <head> <meta charset="utf-8"><met

CSS3实战开发: 手把手教大家实战开发鼠标划过图片动画特效

各位网友大家好,我是陌上花会开,当然大家也可以叫我陌陌.今天这篇文章,我将手把手带领大家实战开发一个鼠标划过图片时的动画特效.在这里我不会给大家提供案例的源码下载,但是本人可以保证,只要大家跟着我的思路,一步步将代码复制到本地,一定会得到同样的运行效果.希望大家明白我的用心.好了不废话,直接进入今天的主题吧. 在今天这个案例里,我准备3个素材,一张背景图,两张风景图片.这个大家可以到网上自行下载. 在写代码之前,我先给大家展示一下,动画特效的效果图. 鼠标花过前: 当鼠标划过图片时,图片将逐渐变

CSS3属性选择器详解 及 双色球实战开发

在前面的章节中,我们了解了,可以使用行内样式,ID选择器,类选择器,以及标签选择器来给一个元素应用样式. 如果我们想给定义了那些都定义了某一个属性的元素应用样式,这个时候我们该怎么做呢? 这一节中,我将使用 双色球案例 和 文档类型提示图标案例 来引入和应用属性选择器. 双色球案例: 大家都知道,双色球共有7个球,6个红球,1个蓝球.首先我们先在页面上面定义7个span标签: <!DOCTYPE html> <html> <head> <meta charset=