calc 四则运算

1.calc 是简单的四则运算 + - * /

2.支持 百分比 px em rem单位换算

3.calc 主要用于计算不确定值

例如一个外边距为10px,宽度为100%的元素,这种情况我们怎么设置呢?如果设置了

width: 100%;
margin: 10px;
复制代码

你可以看出这个box已经溢出了,那么怎么解决呢?就可以用calc函数了。

width: 800px;
width: calc(100% - (10 *2)px);
margin: 10px;

vw和vh是什么?

vw、vh、vmin、vmax是一种视窗单位,也是相对单位。它相对的不是父节点或者页面的根节点。而是由视窗(Viewport)大小来决定的,单位 1,代表类似于 1%。 视窗(Viewport)是你的浏览器实际显示内容的区域—,换句话说是你的不包括工具栏和按钮的网页浏览器。

具体描述如下:

  1. vw:视窗宽度的百分比(1vw 代表视窗的宽度为 1%)
  2. vh:视窗高度的百分比
  3. vmin:取当前Vw和Vh中较小的那一个值
  4. vmax:取当前Vw和Vh中较大的那一个值

vw、vh 与 % 百分比的区别

(1)% 是相对于父元素的大小设定的比率,vw、vh 是视窗大小决定的。 (2)vw、vh 优势在于能够直接获取高度,而用 % 在没有设置 body 高度的情况下,是无法正确获得可视区域的高度的,所以这是挺不错的优势。

calc和vh/vw结合使用

上面我们使用%结合calc使用可以实现想要的效果,为什么要引入vw和vh呢?上面说%和vw,vh的区别中,% 在没有设置 body 高度的情况下,是无法正确获得可视区域的高度的。

calc + vw 计算宽度
width: 800px; /* fallback for b*/
width: -moz-calc(100vw - (2 * 10)px);
width: -webkit-calc(100vw -(2 * 10)px);
width: calc(100vw - (2 * 10)px);
calc + vh 计算高度
height: 800px;
height: -moz-calc(100vh - (2 * 10)px);
height: -webkit-calc(100vh - (2 * 10)px);
height: calc(100vh - (2 * 10)px);
posted @ 2019-04-22 10:51  Jasonpub  阅读(730)  评论(0编辑  收藏  举报