好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

calc 计算属性

calc 计算 属性

calc 这个 属性 可以达到什么 效果 呢?通过计算 函数 ,可以在 不刷新浏览器 的情况下,实时的让 属性 值发生变化,我们一起看看 calc 的使用吧。

1. 官方定义

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

2. 解释

calc() 可以按照我们写的公式,在浏览器中进行计算,使用的时候,要注意: 运算符 的前后都需要保留 一个 空格 ,例如: width: calc(100% - 20px); 中, - 号前后要有一空格。 它 支持 “+”, “-”,“*”,“/” 运算; calc() 函数 使用标准的数学运算优先级规则。

3. 语法

   .demo   { 
     /* property: calc(expression) */ 
     width  :   calc  (  - px )  ; 
 } 
 

解释:demo 的宽度 = 父元素总体宽度 - 80px 。

4. 兼容性

IE Edge Firefox Chrome Safari Opera ios android 11 12+ 16+ 19+ 6+ 15+ 6.1+ 81

5. 实例

让 demo 的宽度比父级宽度小 200px。

   .out- Box    { 
     border  : px solid  #ccc  ; 
     width  :  px ; 
     height  :  px ; 
 } 
  .demo   { 
     border  : px solid  #ccc  ; 
     height  : px ; 
     width  :   calc  (  - px )  ; 
 } 
 

效果 图:

宽度比父级宽度小 200px 效果 图

  <!DOCTYPE html> 
   < html   lang   =  " en "   >  
   < head  >  
       <  Meta    charset   =  " UTF-8 "   >  
       <  Meta    name   =  " viewport "    content   =  " width=device-width, initial-scale=1.0 "   >  
       < title  >  Document   </ title  >  
       < style  >   
          .out- Box    { 
             border  : px solid  #ccc  ; 
             width  :  px ; 
             height  :  px ; 
         } 
         .demo   { 
             border  : px solid  #ccc  ; 
             height  : px ; 
             width  :   calc  (  - px )   ; 
         } 
        </ style  >  
   </ head  >  
   < body  >  
       < div   class   =  " out- Box  "   >  
           < div   class   =  " demo "   >  
            网:计算 函数 学习
           </ div  >  
       </ div  >      
   </ body  >  
   </ html  >  
 

使 demo 的宽度、高度为父元素的 1/3。

   .out- Box    { 
     border  : px solid  #ccc  ; 
     width  :  px ; 
     height  :  px ; 
 } 
  .demo   { 
     border  : px solid  #ccc  ; 
     height  :   calc  (  / )  ; 
     width  :   calc  (  / )  ;    
 } 
 

效果 图:

宽度、高度为父元素的 1/3 效果 图

  <!DOCTYPE html> 
   < html   lang   =  " en "   >  
   < head  >  
       <  Meta    charset   =  " UTF-8 "   >  
       <  Meta    name   =  " viewport "    content   =  " width=device-width, initial-scale=1.0 "   >  
       < title  >  Document   </ title  >  
       < style  >   
          .out- Box    { 
             border  : px solid  #ccc  ; 
             width  :  px ; 
             height  :  px ; 
         } 
          .demo   { 
             border  : px solid  #ccc  ; 
             height  :   calc  (  / )   ; 
             width  :   calc  (  / )   ;    
         } 
        </ style  >  
   </ head  >  
   < body  >  
       < div   class   =  " out- Box  "   >  
           < div   class   =  " demo "   >  
            网:计算 函数 学习
           </ div  >  
       </ div  >      
   </ body  >  
   </ html  >  
 

使 demo 的宽度、高度为父元素的 (100% + 200px) /3。

   .out- Box    { 
     border  : px solid  #ccc  ; 
     width  :  px ; 
     height  :  px ; 
 } 
  .demo   { 
     border  : px solid  #ccc  ; 
     height  :   calc  (   (  + px )  / )  ; 
     width  :   calc  (   (  + px )  / )  ;    
 } 
 

效果 图:

宽度、高度为父元素的 1/3 效果 图

  <!DOCTYPE html> 
   < html   lang   =  " en "   >  
   < head  >  
       <  Meta    charset   =  " UTF-8 "   >  
       <  Meta    name   =  " viewport "    content   =  " width=device-width, initial-scale=1.0 "   >  
       < title  >  Document   </ title  >  
       < style  >   
          .out- Box    { 
             border  : px solid  #ccc  ; 
             width  :  px ; 
             height  :  px ; 
         } 
          .demo   { 
             border  : px solid  #ccc  ; 
             height  :   calc  (   (  + px )  / )   ; 
             width  :   calc  (   (  + px )  / )   ;    
         } 
        </ style  >  
   </ head  >  
   < body  >  
       < div   class   =  " out- Box  "   >  
           < div   class   =  " demo "   >  
            网:计算 函数 学习
           </ div  >  
       </ div  >      
   </ body  >  
   </ html  >  
 

6. 经验 分享

calc 的 用法 非常简单,它的出现给我们带来了很多方便。它多用于在父级元素大小变动时候内部子元素的大小展示,例如上面的例子。
在使用它的时候,如果遇到复杂的运算,我们可以人为的去先处理下,来减少内部的 ( ) ,例如 3 中 :

  calc  (   (  + px )  / ) 
 

我们可以写成 :

  calc  (  / + px/ ) 
 

要注意,calc 中的 运算符 的前后都需要保留 一个 空格 ,这一点千万不要忘记得了,如果遇到问题不要慌,打 代码 调试器看看问题到底出在哪里了。

CSS3教程 ?nth 类型元素选择器

查看更多关于calc 计算属性的详细内容...

  阅读:34次

上一篇

下一篇

第1节:CSS3简介    第2节:border 边框    第3节:borderImage 边框图片    第4节:border-radius 圆角    第5节:box-shadow 阴影    第6节:box-sizing 盒类型    第7节:gradients 渐变    第8节:text-justify 对齐    第9节:text-overflow 文字超出    第10节:text-shadow 文本阴影    第11节:word-break 文本打断    第12节:word-wrap 文本换行    第13节:letter-spacing 字间距    第14节:perspective 透视    第15节:transform 2D 空间转换    第16节:transform 3D 空间转换    第17节:transition 过渡    第18节:animation 动画    第19节:columns 字符分割    第20节:flex 弹性盒子布局    第21节:flex order 顺序    第22节:flex: grow、shrink、basis    第23节:flex-direction 排列方向    第24节:justify-content (轴内)对齐方式    第25节:flex-wrap 换行    第26节:align-items 竖直方向对齐方式    第27节:align-content    第28节:Grid 布局简介    第29节:Grid 行和列    第30节:media 媒体查询    第31节:only 元素选择    第32节:before && after 位置    第33节:nth 类型元素选择器    第34节:calc 计算属性