calc的使用

最近在网上的一个例子中,发现运用了此属性。之前一直没有用过,也不知道是用来做什么。网上搜索,原来calc是css3的一个新增的功能。而且,这个属性4年前就在使用了。真是学海无涯呀。


calc是英文单词calculate的缩写,有计算功能,可以动态设置元素的宽高。这里的计算跟我们以往的计算不同,它不能得出具体的值,而是一个表达式。

语法: calc(expression)

例如:width:calc(100% - 10px);括号中的,就是表达式。


在标准模式下,父元素宽度固定,子元素宽度被设置为100%,再添加border,padding,margin,盒子会被撑开。

例如:有2个盒子,有padding,border,以px为单位。

html代码:

<div class="box">
	<div class="innerbox"></div>
</div>

css代码:

.box{
    	width: 500px;
     	background: #f00;
     	padding: 10px 0;
     	margin: 50px auto;
}
.innerbox{
	width: 100%;
	height: 50px;
	padding: 10px;
	border: 5px solid green;
	background: #ddd;
}

效果:子元素撑开了父元素。


而使用calc它会给元素做计算,就不用我们手动去计算。所以,通常calc会用来实现自适应布局。

html代码:

<div class="box">
      <div class="innerbox"></div>
</div>

css代码:

.box{
	width: 500px; 
	background: #f00; 
	padding: 10px 0;
}
.innerbox{
	background: #ddd; 
	height: 30px; 
	padding: 10px; 
	border: 5px solid green; 
	width:-moz-calc(100% - (10px + 5px) * 2);
	width:-webkit-calc(100% - (10px + 5px) * 2);
	width: calc(100% - (10px + 5px) * 2);
	width: 470px;/*针对不支持calc方法的,要给一个值*/
}


效果:


在使用calc时,有一些要注意的地方:


1、calc()语法非常简单,可以使用“+”、“-”、“*” 和 “/”四则运算;

但在使用"+"、"-" 运算时,符号的前后必须要有空格。

如:width: calc(50% + 4em);

2、calc不仅仅会使用px,也使用百分比、em、rem等单位;

例如:width: calc(100% - 2em);

兼容性:


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值