css3中的calc函数浅析_css3

calc()对大家来说,或许很陌生,不太会相信calc()是css中的部分。但它却是就是css3的一部分,下面这篇文章主要给大家介绍了关于css3中calc函数的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

前言

其实在之前学习CSS3的时候,我并没有注意到有calc()这个属性,后来在看一个大牛的代码的时候看到了这个,然后就引发了后来的一系列的查找、学习,以及这篇博客的诞生。好了,废话不多说了,来干正事。

简介

其实,calc()这个形式看起来就很容易让人想到Javascript里的函数,当然他不是js里的函数,但是他有着类似函数的功能,可以用来计算,括号里是一个表达式,通常用calc()来指定元素的长度,不管是width、height、border还是padding等都可以用他来指定。说白了,calc()就是css3的一个指定元素长度的属性,他的特殊之处在于他可以做计算,而且支持混合使用各种单位,比如%、px、em等。所以这个属性特别适用于那些自适应的布局。

立即学习“前端免费学习笔记(深入)”;

兼容性:在IE9+、FF4.0+、Chrome19+、Safari6+都得到了较好支持(据说在使用时要加上供应商前缀,但是我测试了一下,不加也是可以用的),但是在移动端的支持不是很好。

正文:

最近在一次项目中我遇到一个很普通的问题,相信大家都会遇到过,我的需求是这样的,我的侧边栏的高度是百分百的,就像下面的例子一样:

css3中的calc函数浅析_css3

这时我要在顶部导航栏上加一些需求,要实现的效果类似于这样,不过想很郁闷它出现了滚动条,效果如下:

css3中的calc函数浅析_css3

我不想它出现滚动条,这个时候可能很多同学会说,我可以用绝对定位等等,但我的顶部导航栏本来就是绝对定位呀,于是乎我翻了一翻css3,发现了一个神奇的函数,calc!!!(啊尼路亚,啊尼路亚,啊尼路亚,啊尼路亚~~~)

下面是一些粗鄙的无聊的复制粘贴过来的函数说明:

calc() 函数用于动态计算长度值。

需要注意的是,运算符前后都需要保留一个空格,例如:width: calc(100vh – 10px);

任何长度值都可以使用calc()函数进行计算;

calc()函数支持 “+”, “-“, “*”, “/” 运算;

calc()函数使用标准的数学运算优先级规则;

支持版本:CSS3

兼容性:(开头说了)

回到正事,了解了它的内容,接下来就要看看它能给你带来的好处,比如:消灭滚动条,当我把父级的高度设置成height: calc(100vh – ‘我的需求内容高度’)时滚动条神奇的消失了,呈现了这样的效果:

css3中的calc函数浅析_css3

登登登登~!!!是不是很神奇,为什么会这样呢?因为100vh就相当于window.innerHeight, 是浏览器的内部高度, 滚动条高度也计算在内。如果高只设置100%是可用高度, 就不包含滚动条的高度啦, 是不是非常好用的一个东西(说那么多大家走过路过应施舍点点赞给我,谢谢谢谢~)

其实不仅仅只有高,还有很多很多应用场景都是可以实现的,比如我们经常会给自己的ul li设置padding或者margin,当li的个数没有超过一定的数量时它是不会换到第二行的,但有时候就因为那么一点点padding或者margin就换行了,使得左边或者右边空白了一处很难看,大家都可以用calc这个函数去解决,我就不一一举例了哈,本人技术水平有限,就说到这了,如果有错的地方,希望大家可以多多指出,祝大家级别年年跳,薪资翻又翻。

以上就是css3中的calc函数浅析_css3的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1610843.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 01:46:46
下一篇 2025年12月24日 01:47:07

相关推荐

  • 利用CSS3实现炫酷的飞机起飞的动画

    这篇文章给大家演示如何只利用css3就能实现飞机起飞的动画,实现后的效果很赞,有需要的朋友可以参考借鉴。 有点遗憾的是云朵不好画,用图片代替了 实例源码 Plane *{margin:0;padding:0;} body{ height: 700px; background: rgb(42, 121…

    2025年12月24日
    000
  • 关于CSS3中filter(滤镜)属性的介绍

    这篇文章主要介绍了详解css3中强大的filter(滤镜)属性的相关资料,需要的朋友可以参考下 博主最近在做网站的过程中发现了一个非常强大的CSS3属性,就是filter(滤镜)属性,喜欢p图的朋友看名字都应该知道这是什么神器了吧。当然,这个属性的效果肯定不能跟ps相比,但是利用的好的话可以在节约很…

    2025年12月24日 好文分享
    000
  • 使用CSS3创建一个旋转可变色按钮

    这篇文章主要介绍了关于使用css3创建一个旋转可变色按钮,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 想把访客引到另一个页面?添加一个很炫的按钮是个很好的办法 !今天的文章提出了如何使用CSS3创建一个旋转,旋转,可变色按钮,需要了解的朋友可以参考下 想把访客引到另一个页面?添加一…

    好文分享 2025年12月24日
    000
  • CSS3中transform变换模型渲染的解析

    这篇文章主要介绍了关于css3中transform变换模型渲染的解析,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 transform通过一组函数实现了对盒子大小、位置、角度的2D或者3D变换,这里我们主要来深入解读CSS3中transform变换模型的渲染,尤其是关注web端3D渲…

    2025年12月24日 好文分享
    000
  • CSS3定位和浮动的介绍

    这篇文章主要为大家详细介绍了css3定位和浮动的概念,以及实例代码讲解css3定位和浮动的使用方法,感兴趣的小伙伴们可以参考一下 本文为大家分享CSS3定位和浮动的基础概念,与使用方法,供大家参考,具体内容如下 一、定位 1、 css定位: 改变元素在页面上的位置 立即学习“前端免费学习笔记(深入)…

    好文分享 2025年12月24日
    000
  • 基于css3的属性transition制作菜单导航的效果

    这篇文章主要为大家介绍了基于css3的属性transition制作菜单导航效果,可实现鼠标滑过菜单项动态改变背景滑块的功能,基于css3的属性transition实现,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了基于css3的属性transition制作菜单导航效果。分享给大家供大家参考。…

    2025年12月24日
    000
  • 如何用纯CSS 实现一个颜色卡的效果

    这篇文章主要介绍了关于如何用纯CSS 实现一个颜色卡的效果,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 源代码下载 每日前端实战系列的全部源代码请从 github 下载: https://github.com/comehope/front-end-daily-challenges …

    2025年12月24日
    000
  • 关于jQuery浏览器CSS3特写兼容的介绍

    这篇文章主要介绍了jquery浏览器css3特写兼容的方法,实例分析了jquery兼容浏览器的使用技巧,需要的朋友可以参考下 本文实例讲述了jQuery浏览器CSS3特写兼容的方法。分享给大家供大家参考。具体分析如下: CSS3充分吸收多年了web发展的需求,吸收了很多新颖的特性。例如border-…

    好文分享 2025年12月24日
    000
  • CSS3实现的10种Loading效果

    这篇文章主要为大家详细介绍了css3实现10种loading效果,效果实现简单新颖,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 用CSS3实现了几种常见的Loading效果,虽然很简单,但还是分享一下,顺便也当是做做笔记…… 第1种效果: 代码如下: .loading{ width: 80px…

    2025年12月24日 好文分享
    000
  • CSS3中Transition动画属性的用法介绍

    这篇文章主要为大家详细介绍了css3中transition动画属性用法,教大家如何使用transition动画,感兴趣的小伙伴们可以参考一下 W3C标准中对css3的transition这是样描述的:“css的transition允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击…

    2025年12月24日
    000
  • css3.0的图形构成

    这篇文章主要介绍了关于css3.0的图形构成,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 css3.0 的出现给我们带来了很大的影响,本文主要知识点 transform属性/animate的应用,感兴趣的朋友可以参考并学习下实例,希望对你学习图形构成有所帮助 主要知识点 ① tra…

    好文分享 2025年12月24日
    000
  • css3实现wifi信号逐渐增强的效果

    本篇文章主要介绍了css3实现wifi信号逐渐增强效果实例,内容挺不错的,现在分享给大家,也给大家做个参考。 整理文档,搜刮出一个css3实现wifi信号逐渐增强效果实例的代码,稍微整理精简一下做下分享。 效果图 下面是实现代码: wifi信号 *{ margin: 0; padding: 0; }…

    2025年12月24日
    000
  • css3实现3D字体带阴影的效果

    这篇文章主要介绍了关于css3实现3d字体带阴影的效果,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 3D字体而且还带有阴影,这种效果想必大家只有认为一些高级的作图工具才可以实现的吧,css3的出现让这一切看似不可能的实现成为可能,接下来为大家介绍下3D字体带阴影效果的实现步骤,感兴…

    2025年12月24日
    000
  • 关于CSS3制作的20种loading动效

    本篇文章主要介绍了详解纯css3制作的20种loading动效,内容挺不错的,现在分享给大家,也给大家做个参考。 一些网站或者app在加载新东西的时候,往往会有一些好看有趣的loading图,大部分的loading样式都可以使用css3写出来,不仅比直接使用gif图简单方便,还能节省加载时间和空间,…

    2025年12月24日 好文分享
    000
  • CSS3中的Transition过度与Animation动画属性的使用介绍

    这篇文章主要介绍了css3中的transition过度与animation动画属性使用要点transition和animation能被用来制作基本的页面图片动态效果,当然进一步的控制还是需要javascript的帮助,需要的朋友可以参考下 Transition(过度)Transition允许CSS的…

    2025年12月24日
    000
  • 关于css3图片边框border-image的用法

    在css3里引入的很多新特征中,这篇文章主要介绍了css3图片边框border-image的用法,具有一定的参考价值,有兴趣的可以了解一下 对于CSS属性 border ,相信所有的WEB开发人员都非常熟悉。我们可通过设置HTML元素的 border 的宽度、颜色、样式,来让HTML元素表现出不同的…

    好文分享 2025年12月24日
    000
  • CSS3三维变形实现立体方块

    这篇文章主要给大家介绍了css3利用三维变形实现立体方块的方法,文中给出了完整的实例代码,感兴趣的朋友们可以自己运行后看看效果,只有自己动手了才能更好的学习,下面来一起看看吧。 前言 三维变换使用基于二维变换的相同属性,如果您熟悉二维变换,你们发现3D变形的功能和2D变换的功能类似。3D变形与2D变…

    2025年12月24日
    000
  • 利用CSS3实现文字向右循环的闪过效果

    这篇文章主要跟大家分享了利用纯css3实现文字向右循环闪过效果的相关资料,因为兼容性的问题,常被用于移动端,实现的效果非常不错,文中给出了详细的介绍和示例代码,需要的朋友们下面来一起看看吧。 本文介绍的利用纯CSS3实现文字向右循环闪过效果的相关资料,下面话不多说,大家先来看看示例代码吧。 示例代码…

    2025年12月24日
    000
  • CSS3如何实现自定义“W”形运行轨迹

    本篇文章主要介绍了CSS3效果:“W”形运行轨迹实例,可以通过css实现w的运行轨迹,非常具有实用价值,需要的朋友可以参考下。 整理文档,搜刮出一个CSS3效果:“W”形运行轨迹实例的代码,稍微整理精简一下做下分享。 *{ margin: 0; padding:0; } #p{ width:900p…

    好文分享 2025年12月24日
    000
  • 关于CSS3中动画属性transform和transition以及animation属性的区别分析

    这篇文章主要介绍了关于css3中动画属性transform和transition以及animation属性的区别分析,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 最近在项目中用到了CSS3中的动画属性。无奈对于css3几个新加的属性不太熟悉,常常容易搞混。所以从网站研究了点资料,总…

    好文分享 2025年12月24日
    000

发表回复

登录后才能评论
关注微信