CSS的calc函数用法是什么,如何应用实现布局?
Admin 2022-11-29 群英技术资讯 829 次浏览
这篇文章主要讲解了“CSS的calc函数用法是什么,如何应用实现布局?”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。CSS的calc()函数可以实现属性值的计算,例如下面这段代码:
min-height: calc(100vh - 128px);
这段代码通常会出现在布局中,64px为顶部栏和底部栏的高度,这样就可以轻松实现Sticky Footer布局。
calc()函数支持四则运算,但是乘法中必须有一个值是数字,除法的除数必须也是数字(不能是0)。
在使用calc()函数时,可能会出现不生效的问题,究其原因,就是你的VSCode没有开代码格式化功能(开个玩笑);如果我们将上面那带代码修改成:
min-height: calc(100vh-128px);
他就不会生效,原因是这个属性值被解析成两个长度单位,分别是100vh和-128px,所以在我们使用****和******运算符时两边必须要有空白字符**。
CSS3的calc()函数可以帮助我们实现很多布局方案,我们依次介绍一下。
步骤如下:
使子元素相对于容器元素定位
子元素开启绝对定位
设置该元素的偏移量,值为50% 减去宽度/高度的一半
实现CSS代码如下:
.parent {
/* 1. 使子元素相对于本元素定位 */
position: relative;
}
.child {
/* 2. 开启绝对定位 */
position: absolute;
/* 3. 设置该元素的偏移量,值为 50%减去宽度/高度的一半 */
left: calc(50% - 150px);
top: calc(50% - 150px);
}
步骤如下:
左边列开启浮动
右边列开启浮动
右边列宽度为父级 100%减去左列的宽度
实现CSS代码如下:
.left {
/* 左边列开启浮动 */
float: left;
}
.right {
/* 右边列开启浮动 */
float: left;
/* 宽度减去左列的宽度 */
width: calc(100% - 200px);
}
使用calc函数实现sticky footer布局比较简单,中间的容器最少高度为视口宽度的100% - 头部和底部两部分的高度即可完成该功能。
实现CSS代码如下:
.container {
/* 这里的 中间 部分的容器最少为视口宽度的 100% - 头部和底部两部分的高度即可完成该功能 */
min-height: calc(100vh - 200px);
}
实现步骤如下:
通过calc函数计算出中间容器的高度。
中间出现滚动条的容器设置overflow: auto即出现滚动条的时候出现滚动条。
实现CSS代码如下:
.content {
overflow: hidden;
/* 通过 calc 计算容器的高度 */
height: calc(100vh - 200px);
}
.left {
height: 100%;
}
.right {
/* 如果超出出现滚动条 */
overflow: auto;
height: 100%;
}
.right-in {
/* 假设容器内有500px的元素 */
height: 500px;
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
flex布局无疑是简单、易用的,他让我我们的布局更加简单和快速,这篇文章主要介绍了详解flex多列布局遇到的问题和解决方案 ,非常具有实用价值,需要的朋友可以参考下
css3中calc怎么设置除法calc() 函数用于动态计算长度值。需要注意的是,运算符前后都需要保留一个空格,例如:width: calc(100% - 10px);任何长度值都可以使用calc()函数进行计算;c
今天本篇文章给大家分享一个边框动画特效,看看使用CSS3如何实现边框阴影向外扩散的动画特效。我们先来看看效果图:下面我们来研究一下是怎么实现这个效果的:首先创建HTML部分,定
这篇文章主要介绍了纯css实现多级折叠菜单折叠树效果,运用checkbox的checked值来判断下级栏目是否展开,通过css3选择器提供的checked伪类来实现此效果,感兴趣的朋友参考下吧
弹性布局(Flexbox)逐渐流行,越来越多人使用,本文章主要介绍了Flexbox 布局的最简单表单的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008