您现在的位置是:网站首页> 编程资料编程资料
初探CSS3中的calc()功能CSS3 calc()会计算属性详解详解CSS 3 中的 calc() 方法浅谈css3中calc在less编译时被计算的解决办法CSS3 Calc实现滚动条出现页面不跳动问题 CSS3的calc()做响应模式布局的实现方法使用CSS3中的calc()属性来以算式表达尺寸数值浅析CSS中calc()的使用巧用CSS3的calc()宽度计算做响应模式布局的方法
2021-09-05
843人已围观
简介 这篇文章主要初步介绍了CSS3中的calc()功能,作者写作此文时提及了注意各浏览器的支持情况,需要的朋友可以参考下
之前,我们想要实现一个完美的宽度自适应的输入框好麻烦,曾经也被作为对前端技术的一个挑战。类似的常见场景还有100%宽+边框的容器等。遇到这些情况,我们不得不分外小心,因为各个浏览器的表现可能不一致。
现在,firefox和webkit相继支持calc()功能了,我们也可以学习下了。
calc()是干嘛的?
calc()是单词calculate(计算)的缩写,是css3的一个新的长度单位功能,可以使用简单的数学运算。
嗯,CSS3越来越高级了。
运算规则
calc()使用通用的数学运算规则,但是也提供更智能的功能:
使用“+”“-”“*”“/”四则运算;
可以使用百分比、px、em、rem等单位;
可以混合使用各种单位进行计算。
实例:
我们来看几个小例子来理解下calc()功能吧:
- .box{ border:1px solid #ddd; width:calc(100%-2px) }
容器宽度加上边框宽度正好100%。
- .box{ width:calc(10em+20px) }
宽度,10em加20px。
- .box{ margin-left:20px; width:calc(100%/3-20px); }
- .box:nth-child(3n){ margin-left:0; }
3栏等宽布局。
浏览器支持
firefox 4.0+已经开支支持calc()功能,不过要使用-moz-calc()私有属性,chrome从19 dev版,也开始支持私有的-webkit-calc()写法,IE9这次则牛逼了一次,原生支持标准的不带前缀的写法了。Opera貌似还不支持~~
所以如果我们要用这个属性的话,要记得带上各浏览器的兼容性。
eric meyer提到w3c规范的一条备注(评论里面的同学也有提到):
Note that the grammar requires spaces around binary ‘+’ and ‘-’ operators. The ‘*’ and ‘/’ operators do not require spaces. via CSS3 Values and Units specification
也就是说,”+”、”-“两个符号边上必须要有空格,而”*”、”/”符号则不是必须的。
然后我们可能要这样写:
- width: calc(100%/3 - 2*1em - 2*1px);
这样写也是可以的:
- width: calc(100% / 3 - 2 * 1em - 2 * 1px);
但是这样写就是错的:
- width: calc(100%/3-2*1em-2*1px);
嗯,这样很容易写错啊。还好现在支持的浏览器还不太多,我会继续观望并保持更新~~
相关内容
- CSS3中HSL和HSLA的简单使用示例css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
- 详解CSS中@supports的用法CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- CSS3动画制作的简单示例
- 用CSS3实现背景渐变的方法CSS3实现带视差背景渐变效果的平滑图片轮播幻灯片特效源码详解CSS背景渐变图片transtion过渡效果技巧css3编写浏览器背景渐变背景色的方法CSS3点击按钮实现背景渐变动画效果CSS实现背景渐变和自动全屏的代码
- CSS进阶指引CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- 详解CSS3中border-image的使用深入浅析css3 border-image边框图像详解CSS3 border-image详解、应用及jQuery插件深入浅出CSS3 background-clip,background-origin和border-image教程 css3 border-image使用说明css3图片边框border-image的用法
- CSS元素居中布局的简单方法css 不定宽高的元素居中布局解决方案CSS实现元素居中原理解析浅谈css元素居中CSS实现定位元素居中的方法html元素水平居中、垂直居中、水平垂直居中于其父级元素的方法css控制div中元素居中的示例css实现元素居中的N种方法
- 使用CSS3来绘制一个月食图案纯css3绘制的小黄人头像动画特效源码纯css3绘制的QQ企鹅动画特效源码纯css3绘制的精美购物优惠券样式效果源码纯css3绘制的哆啦a梦机器猫头像效果源码HTML5+CSS3绘制锯齿状的矩形CSS3绘制不规则图形的一些方法示例使用HTML和CSS3绘制基本卡通图案的示例分享CSS3绘制圆角矩形的简单示例用CSS3绘制三角形的简单方法纯CSS3绘制打火机动画火焰效果
- 举例详解CSS的z-index属性的使用css3的transform造成z-index无效解决方案css z-index层重叠顺序使用介绍CSS教程 彻底掌握Z-index属性
- 用CSS3绘制三角形的简单方法纯CSS3+DIV实现小三角形边框效果的示例代码详解css如何利用 :before :after 写小三角形CSS3 画基本图形,圆形、椭圆形、三角形等布局和排版教程 纯css3实现图片三角形排列使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)CSS3实现三角形不断放大效果