css3实现可以计算的自适应布局—calc()

2020-07-23 19:52:51
本篇文章就给大家介绍css3实现可以计算的自适应布局—calc()。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

开始我们需要先了解什么是calc() ,calc()是一个CSS函数,你可以使用calc()给元素的margin、pading、width等属性设置

而且你还可以在一个calc()内部嵌套另一个calc()

clac()的语法就非常简单了 , 使用数学表达式来表示:

expression 一个数学表达式,用来计算长度的表达式,该表达式的结果会作为最终的值。

clac()使用“+”、“-”、“*” 和 “/”四则运算,可以使用百分比、px、em、rem等单位,而且可以混用多种单位计算

需要注意的是

如果“0”作为除数会让HTML解析器抛出异常.

“+”和“-”时,前后必须要有空格 比如calc(100%-15px) 这是错误的

“*”和“/”时,前后可以不留空格,但是建议加上空格

举两个例子

 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4     <meta charset="UTF-8"> 5     <title>demo</title> 6 <style> 7 .box{ 8     width: 500px; 9     height: 300px;10 }11 .left{12     width: 250px;13     background:#ccc;14     float: left;15 }16 .right{17     width: calc(100% - 250px);18     float: right;19     background: #333;20 }21 .left,.right{22     height: 100%;23 }24 </style>25 </head>26 <body>27 28 <p class="box">29     <p class="left"></p>30     <p class="right"></p>31 </p>32 33 </body>34 </html>

 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4     <meta charset="UTF-8"> 5     <title>demo</title> 6 <style> 7 .demo{ 8     width: 500px; 9 }10 .box{11     width: 100%;12     height: 30px;13     background: #ccc;14 }15 input{16   width: 100%;17   border:1px solid #333;18   width: calc(100% - (0px + 1px) * 2);19 }20 </style>21 </head>22 <body>23 <p class="demo">24     <p class="box">25         <input type="text">26     </p>27 </p>28 </body>29 </html>

如果不使用calc()

兼容问题也不是很大